Go Back
cheesy french onion meatballs in skillet with melted cheese and caramelized onions

Cheesy French Onion Meatballs

Juicy beef meatballs cooked in a rich French onion sauce and topped with melted cheese for a comforting dinner.
Prep Time 15 minutes
Cook Time 40 minutes
Total Time 55 minutes
Servings: 4
Course: 30-Minute Dinner
Cuisine: American
Calories: 480

Ingredients
  

  • For the Meatballs
  • 1 lb ground beef
  • 1/2 cup breadcrumbs
  • 1 egg
  • 2 cloves garlic minced
  • 1/4 cup grated Parmesan cheese
  • 1 tsp salt
  • 1/2 tsp black pepper
  • For the French Onion Sauce
  • 2 large onions thinly sliced
  • 2 tbsp butter
  • 1 tbsp olive oil
  • 1 tbsp all-purpose flour
  • 2 cups beef broth
  • 1 tsp Worcestershire sauce
  • 1/2 tsp dried thyme
  • For the Cheesy Topping
  • 1 cup shredded mozzarella
  • 1/2 cup shredded Gruyère or Swiss cheese
  • 1 tbsp fresh parsley chopped, optional

Method
 

  1. Step 1: Make the Meatballs
  2. In a large bowl, mix:
  3. ground beef
  4. breadcrumbs
  5. egg
  6. garlic
  7. Parmesan
  8. salt and pepper
  9. Form into medium meatballs (about 1–1.5 inches).
  10. No need to be perfect — just keep them close in size so they cook evenly.
  11. Step 2: Brown the Meatballs
  12. Heat a skillet over medium heat.
  13. Add the meatballs and cook for about 6–8 minutes, turning to brown all sides.
  14. They don’t need to be fully cooked yet — just get that golden crust.
  15. Remove and set aside.
  16. Step 3: Cook the Onions
  17. In the same pan, add butter and olive oil.
  18. Add sliced onions and cook on low to medium heat for about 20–25 minutes.
  19. Stir occasionally until they turn soft, golden, and slightly caramelized.
  20. (Yeah, this step takes a minute — but it’s where the flavor builds big time.)
  21. Step 4: Make the Sauce
  22. Sprinkle flour over the onions and stir well.
  23. Pour in:
  24. beef broth
  25. Worcestershire sauce
  26. thyme
  27. Let it simmer for a few minutes until the sauce thickens slightly.
  28. Step 5: Add Meatballs Back
  29. Return the meatballs to the pan.
  30. Spoon the onion sauce over them and let everything simmer for about 10–12 minutes, until fully cooked.
  31. Step 6: Add the Cheese
  32. Sprinkle mozzarella and Gruyère over the meatballs.
  33. Cover the pan or place it under the broiler for a few minutes until the cheese melts and gets bubbly and slightly golden.
  34. Step 7: Garnish and Serve
  35. Top with fresh parsley and serve hot.
  36. Honestly… grab some bread, because that sauce is way too good to leave behind 😅