Savory beef meatballs simmered in a rich, golden onion gravy and topped with perfectly melted cheese — this Cheesy French Onion Meatballs recipe takes all the cozy warmth of French onion soup and gives it a hearty, comforting twist. Whether I'm looking to impress at a dinner party or just satisfy my craving for something rich and cheesy, this dish always hits the mark.
Ingredients
(Tip: You'll find the full list of ingredients and measurements in the recipe card below.)
For the meatballs:
1 lb ground beef
¼ cup breadcrumbs
1 egg
2 cloves garlic, minced
¼ cup grated Parmesan
½ teaspoon dried thyme
Salt and black pepper to taste
For the onion gravy:
2 tablespoons butter
2 large yellow onions, thinly sliced
1 tablespoon olive oil
1 teaspoon sugar
¼ teaspoon baking soda (optional, speeds caramelization)
2 cloves garlic, minced
1 tablespoon all-purpose flour
½ cup dry white wine (optional)
1 ½ cups beef broth
½ teaspoon Worcestershire sauce
Salt and pepper to taste
For topping:
1 cup shredded Gruyère or mozzarella cheese
Fresh thyme or parsley for garnish (optional)
Directions
I preheat the oven to 400°F (200°C) and line a baking sheet with parchment paper.
In a bowl, I mix together all the meatball ingredients just until combined, then form them into 1 ½-inch balls and place them on the prepared baking sheet.
I bake the meatballs for 18–20 minutes until they’re browned and fully cooked.
While the meatballs bake, I melt butter with olive oil in a large skillet over medium heat. I add the sliced onions and sprinkle with sugar (plus baking soda if I’m using it). I let them cook for 20–25 minutes, stirring occasionally, until they’re deeply caramelized.
I stir in the garlic and cook for another minute. Then I add the flour and cook for 1 more minute to create a roux.
Slowly, I pour in the wine (if using), scraping up the flavorful browned bits from the bottom of the skillet, and let it simmer for 2 minutes.
I add beef broth and Worcestershire sauce, season with salt and pepper, and let it simmer for 5–7 minutes until it thickens slightly.
I nestle the baked meatballs into the skillet, spoon a little of the gravy over them, and sprinkle the cheese over the top.
I cover and let it cook over low heat for 3–5 minutes until the cheese melts. When I want a golden, bubbly finish, I broil it uncovered for 2–3 minutes instead.
I garnish with fresh thyme or parsley if I’m feeling fancy and serve it hot with a side of my choice.
Servings and timing
Prep Time: 20 minutes
Cook Time: 35 minutes
Total Time: 55 minutes
Servings: 4
Calories per serving: 385 kcal
Variations
I sometimes swap the ground beef for ground turkey or a beef/pork mix for added richness.
For a gluten-free version, I use gluten-free breadcrumbs and flour.
When I want extra depth, I add a splash of balsamic vinegar or a pinch of Dijon mustard to the gravy.
If I’m out of wine, I just add more broth — it still tastes amazing.
I like trying different cheeses, like fontina or provolone, for a fun twist.
Storage/Reheating
I store leftovers in an airtight container in the fridge for up to 3 days. To reheat, I warm them gently on the stovetop over medium heat, adding a splash of broth if needed to loosen the sauce. These meatballs also reheat well in the microwave, though I do it in short bursts to keep the cheese from overcooking. I don’t recommend freezing this dish once assembled, but I’ve frozen the baked meatballs on their own for up to 2 months.
FAQs
What can I serve with cheesy French onion meatballs?
I love them over mashed potatoes, pasta, or even creamy polenta. They also pair perfectly with toasted crusty bread for dipping.
Can I make this ahead of time?
Yes, I often make the meatballs and caramelized onion gravy in advance. I just reheat everything in the skillet, add the cheese, and melt it before serving.
What’s the best cheese for this dish?
Gruyère gives it that classic French onion soup flavor, but mozzarella is a great melty alternative. I’ve even used Swiss or provolone in a pinch.
Can I make this without wine?
Absolutely. I just skip the wine and use extra beef broth. It still develops a rich, delicious flavor.
How do I know when the meatballs are fully cooked?
I check that they’re browned and have reached an internal temperature of 160°F (71°C). They should be firm and juicy inside.
Conclusion
This Cheesy French Onion Meatballs recipe is everything I want in a comforting dinner — savory, cheesy, and loaded with rich flavor. It’s simple enough for a weeknight and impressive enough for guests. Whether I’m serving it with mashed potatoes or just grabbing a fork straight from the skillet, it’s always a hit.
📖 Recipe:
Cheesy French Onion Meatballs
5 Stars 4 Stars 3 Stars 2 Stars 1 Star
No reviews
- Author: Cheryl
- Total Time: 55 minutes
- Yield: 4 servings
Description
Savory beef meatballs baked and then simmered in a rich, caramelized onion gravy, topped with melty cheese for a comforting twist on classic French onion soup.
Ingredients
1 lb ground beef
¼ cup breadcrumbs
1 egg
2 cloves garlic, minced
¼ cup grated Parmesan
½ teaspoon dried thyme
Salt and black pepper to taste
2 tablespoons butter
2 large yellow onions, thinly sliced
1 tablespoon olive oil
1 teaspoon sugar
¼ teaspoon baking soda (optional)
2 cloves garlic, minced
1 tablespoon all-purpose flour
½ cup dry white wine (optional)
1 ½ cups beef broth
½ teaspoon Worcestershire sauce
Salt and pepper to taste
1 cup shredded Gruyère or mozzarella cheese
Fresh thyme or parsley for garnish (optional)
Instructions
- Preheat the oven to 400°F (200°C) and line a baking sheet with parchment paper.
- In a bowl, mix together the ground beef, breadcrumbs, egg, garlic, Parmesan, thyme, salt, and pepper until just combined. Form into 1 ½-inch balls.
- Place meatballs on the prepared baking sheet and bake for 18–20 minutes until browned and cooked through.
- While meatballs are baking, heat butter and olive oil in a large skillet over medium heat. Add sliced onions and sprinkle with sugar and optional baking soda.
- Cook onions for 20–25 minutes, stirring occasionally, until deeply caramelized.
- Stir in minced garlic and cook for 1 minute. Add flour and cook for another minute, stirring to form a roux.
- Slowly pour in white wine (if using), scraping up browned bits, and simmer for 2 minutes.
- Add beef broth and Worcestershire sauce. Season with salt and pepper, then simmer for 5–7 minutes until the gravy thickens slightly.
- Add the baked meatballs to the skillet, spooning some gravy over them. Sprinkle cheese evenly on top.
- Cover and cook over low heat for 3–5 minutes until the cheese melts. For a golden top, broil uncovered for 2–3 minutes.
- Garnish with fresh thyme or parsley if desired, and serve hot.
Notes
Swap ground beef for turkey or a beef/pork blend for different flavors.
Use gluten-free breadcrumbs and flour for a gluten-free version.
A splash of balsamic vinegar or pinch of Dijon mustard adds depth to the gravy.
If not using wine, simply add more beef broth.
Try fontina or provolone as cheese alternatives.
- Prep Time: 20 minutes
- Cook Time: 35 minutes
- Category: Main Course
- Method: Baking, Stovetop
- Cuisine: French-Inspired
Nutrition
- Serving Size: ¼ of recipe
- Calories: 385 kcal
- Sugar: 4 g
- Sodium: 580 mg
- Fat: 26 g
- Saturated Fat: 11 g
- Unsaturated Fat: 12 g
- Trans Fat: 0.5 g
- Carbohydrates: 10 g
- Fiber: 1 g
- Protein: 28 g
- Cholesterol: 105 mg
