This French Onion Meatballs recipe transforms the beloved flavors of French onion soup into a hearty, satisfying main dish that’s perfect for any night of the week. Juicy, tender meatballs are nestled in a rich, caramelized onion sauce and topped with gooey melted cheese that will have everyone coming back for seconds. It’s comfort food elevated to new heights, yet simple enough for everyday cooking!
Why You’ll Love This Recipe
- Incredible Flavor Profile: The combination of caramelized onions, savory beef broth, and two types of melted cheese creates layers of flavor that will make your taste buds dance.
- Impressive Yet Simple: These meatballs look and taste like you spent hours in the kitchen, but they’re actually quite straightforward to prepare.
- Versatile Serving Options: Serve them over mashed potatoes, pasta, or with crusty bread for dipping in that amazing sauce.
- Crowd-Pleaser: I’ve never met anyone who didn’t love these meatballs – they’re a hit with both kids and adults alike.
- Comforting Classic with a Twist: All the beloved flavors of French onion soup transformed into a satisfying main course.
Ingredients You’ll Need
For the Meatballs:
- Ground beef and pork: The combination creates the perfect flavor and texture balance. The beef provides richness while the pork adds juiciness.
- Egg: Acts as a binder to help hold everything together.
- Parmesan cheese: Adds a savory depth and helps bind the meatballs.
- Parsley: Brings a fresh element and color to the meatballs.
- Milk: Creates tenderness in the meatballs and helps prevent them from drying out.
- Breadcrumbs: Work with the egg to bind the mixture while adding the perfect texture.
- Garlic and onion: Provide aromatic flavor foundations.
- Butter and oil: The combination gives you the flavor of butter with the higher smoke point of oil for perfect browning.
For the French Onion Sauce:
- Butter: Creates the base for caramelizing the onions.
- Yellow onions: The star of the show! They transform into sweet, golden deliciousness when caramelized.
- Flour: Helps thicken the sauce to the perfect consistency.
- Beef broth: Provides rich, savory flavor and forms the base of the sauce.
- Mozzarella and Gruyere cheese: The perfect combination – mozzarella for its meltability and mild flavor, Gruyere for its nutty depth that’s classic in French onion soup.
Note: You’ll find the complete list of ingredients, along with their exact measurements, in the printable recipe card at the bottom of this post.
Variations
- Turkey or Chicken Meatballs: For a lighter option, substitute ground turkey or chicken for the beef and pork.
- Extra Herbs: Add some thyme or a bay leaf to the sauce for an additional layer of flavor.
- Wine Addition: Deglaze the pan with 1/4 cup of dry white wine or sherry before adding the beef broth for a more complex flavor profile.
- Vegetarian Version: Use plant-based ground meat substitute and vegetable broth for a meatless option that still captures the essence of the dish.
- Breadcrumb Options: Try using panko breadcrumbs or even crushed croutons for a different texture.
How to Make French Onion Meatballs
Step 1: Prepare the Meatballs
In a large bowl, combine ground beef, ground pork, beaten egg, Parmesan cheese, parsley, salt, and pepper. Mix until just combined – don’t overmix or your meatballs will be tough! In a separate bowl, mix milk, breadcrumbs, garlic, and diced onion, then fold this mixture into the meat. Form into evenly-sized meatballs, about 1 1/2 inches in diameter.
Step 2: Cook the Meatballs
Heat butter and oil in a large non-stick skillet over medium heat until shimmering. Add meatballs in batches, being careful not to overcrowd the pan (this ensures proper browning). Cook until they’re nicely browned on all sides and reach an internal temperature of 165°F, about 8-10 minutes. Transfer to a plate and set aside.
Step 3: Caramelize the Onions
In the same skillet, melt butter over medium heat. Add thinly sliced onions and cook them slowly, stirring occasionally, for about 25-30 minutes. Have patience here – this is where the magic happens! The onions will gradually transform from sharp and pungent to sweet and golden brown.
Step 4: Create the Sauce
Once onions are caramelized, sprinkle flour over them and stir for about a minute to cook out the raw flour taste. Gradually add the beef broth while stirring continuously to prevent lumps. Season with salt and pepper, then simmer for 7-10 minutes until the sauce thickens to a luxurious consistency.
Step 5: Combine and Broil
Nestle the cooked meatballs into the onion sauce. Sprinkle generously with the mozzarella and Gruyere cheese. Place under the broiler for 2-3 minutes, watching carefully until the cheese is melted, bubbly, and slightly golden.
Step 6: Garnish and Serve
Sprinkle with fresh chopped parsley for a pop of color and freshness. Serve immediately while the cheese is still gooey and irresistible.
Pro Tips for Making the Recipe
- Don’t Rush the Onions: Properly caramelized onions take time – this is where most of the flavor develops, so be patient.
- Meat Temperature Matters: Start with room temperature ground meats for more even cooking.
- Use a Cookie Scoop: For perfectly uniform meatballs, use a cookie scoop to portion the meat mixture.
- Don’t Overwork the Meat: Mix the meatball ingredients just until combined – overmixing leads to tough meatballs.
- Cast Iron is Ideal: If you have one, a cast iron skillet works beautifully for this recipe, moving easily from stovetop to broiler.
- Test a Mini Meatball: Cook a small piece of the mixture to check seasoning before forming all your meatballs.
How to Serve
- Classic Comfort: Serve over creamy mashed potatoes or buttered egg noodles to soak up all that glorious sauce.
- Elegant Approach: Pair with a simple green salad dressed with vinaigrette and a crusty baguette for a French-inspired meal.
- Party Style: Offer as an appetizer with toothpicks and plenty of bread for dipping.
- Low-Carb Option: Serve over cauliflower mash or alongside roasted vegetables for a lighter meal.
- Wine Pairing: A medium-bodied red wine like Pinot Noir or Côtes du Rhône complements the rich flavors beautifully.
Make Ahead and Storage
Storing Leftovers
Store any leftover meatballs and sauce in an airtight container in the refrigerator for up to 3 days. The flavor actually improves overnight as the sauce components meld together.
Freezing
These meatballs freeze beautifully! Freeze the cooked meatballs and sauce (without the cheese topping) in a freezer-safe container for up to 3 months. Let them cool completely before freezing.
Reheating
Thaw overnight in the refrigerator if frozen. Reheat in a covered skillet over medium-low heat until warmed through, adding a splash of beef broth if the sauce has thickened too much. Add the cheese topping and broil just before serving for that fresh-made experience.
FAQs
-
Can I make these meatballs ahead of time?
Absolutely! You can prepare the meatballs a day in advance and refrigerate them uncooked, or cook them completely and refrigerate in the sauce. Just add the cheese and broil right before serving. The flavors actually develop nicely when made ahead.
-
What if I don’t have both types of cheese?
While the combination of mozzarella and Gruyere creates that classic French onion flavor profile, you can certainly use just one. All mozzarella will give you more melt and mild flavor, while all Gruyere provides more robust flavor. Swiss cheese makes a good substitute for Gruyere in a pinch.
-
Can I make this recipe with store-bought meatballs to save time?
Definitely! Store-bought meatballs work perfectly in this recipe when you’re short on time. Just prepare them according to package directions, then nestle them into the caramelized onion sauce and proceed with the recipe from there. Italian-style or plain beef meatballs both work well.
-
My sauce seems too thin. How can I thicken it?
If your sauce isn’t thickening enough, mix 1 tablespoon of cornstarch with 1 tablespoon of cold water to create a slurry. Stir this into the simmering sauce and cook for an additional 2-3 minutes until it reaches your desired consistency.
Final Thoughts
These French Onion Meatballs bring together the cozy comfort of homemade meatballs with the rich, complex flavors of French onion soup. The combination is truly magical – tender, juicy meatballs swimming in a deeply flavorful caramelized onion sauce, all topped with a blanket of melty, gooey cheese. It’s a relatively simple dish that delivers incredible results, perfect for both family dinners and entertaining guests. I hope you’ll give this recipe a try – it’s become one of my absolute favorites for those evenings when I want something special without spending hours in the kitchen. Your kitchen will smell amazing, and I promise clean plates all around!
PrintFrench Onion Meatballs Recipe
- Prep Time: 20 minutes
- Cook Time: 50 minutes
- Total Time: 1 hour 10 minutes
- Yield: 8 servings 1x
- Category: Main-course
- Method: Stovetop
- Cuisine: French-inspired
- Diet: Halal
Description
This French Onion Meatballs recipe combines tender meatballs with rich caramelized onion sauce and melted cheeses, making it a comforting and flavorsome main-course dish that can be easily prepared at home.
Ingredients
Meatballs
-
- 1 pound ground beef
- 1 pound ground pork
- 1 large egg, beaten
- 1/2 cup (100 g) parmesan cheese, finely grated
- 2 tablespoons parsley, chopped
- 2 teaspoons kosher salt
- 1/2 teaspoon black pepper
- 1/2 cup (122.5 g) whole milk
- 1/2 cup (54 g) fine dry breadcrumbs
- 1 teaspoon garlic, minced
- 1/4 cup yellow onion, finely diced
- 1 tablespoon unsalted butter
- 1 tablespoon vegetable oil
French Onion Sauce
- 2 tablespoons unsalted butter
- 2 large yellow onions, thinly sliced into half-moon shapes
- 1 tablespoon all-purpose flour
- 2 cups (16 ounces) beef broth
- 1/4 teaspoon kosher salt
- 1/4 teaspoon black pepper
- 1 cup (113 g) mozzarella cheese, shredded
- 1 cup (113 g) Gruyere cheese, shredded
- Parsley, chopped for garnish
Instructions
- Prepare the Meatball Mixture: In a large bowl, combine ground beef, ground pork, beaten egg, parmesan cheese, parsley, salt, and pepper. Mix together until just combined. In a medium bowl, combine milk, breadcrumbs, garlic, and onion, then add this mixture to the meat mixture carefully to avoid overworking the ingredients.
- Shape and Cook Meatballs: Form the mixture into desired size meatballs, greasing your hands to prevent sticking. Place the meatballs on a parchment-lined baking sheet. In a large non-stick skillet over medium heat, melt butter and oil. Cook the meatballs in batches until browned on all sides and they reach an internal temperature of 165°F (8-10 minutes). Remove and set them aside.
- Caramelize the Onions: In a large oven-safe, non-stick skillet over medium-high heat, melt butter. Add the onions and sauté for 25-30 minutes, stirring occasionally, until they achieve a golden brown caramelized texture.
- Thicken the Sauce: Sprinkle flour over the caramelized onions and stir to combine. Add beef broth, salt, and pepper. Stir well and cook for 7-10 minutes until the sauce thickens.
- Add Meatballs to Sauce: Nestle the cooked meatballs into the thickened sauce in the skillet. Evenly sprinkle shredded mozzarella and Gruyere cheese over the meatballs.
- Broil and Serve: Preheat the oven broiler and broil the skillet for 2-3 minutes until the cheese melts and begins to bubble. Garnish with parsley and serve warm.
Notes
- *You could also use store-bought meatballs. Prepare them according to package instructions.
Nutrition
- Serving Size: 1 serving
- Calories: 400
- Sugar: 4g
- Sodium: 700mg
- Fat: 25g
- Saturated Fat: 12g
- Unsaturated Fat: 10g
- Trans Fat: 0g
- Carbohydrates: 15g
- Fiber: 1g
- Protein: 25g
- Cholesterol: 110mg