Description
French Onion Meatballs combine the rich, caramelized flavor of slowly cooked onions with tender, juicy beef meatballs. The dish is finished with a savory broth-based sauce thickened with flour and enriched with Gruyere cheese, then broiled to perfection. Served with toasted baguette slices, this comforting recipe is perfect for a hearty dinner or entertaining guests.
Ingredients
Scale
For the Onions
- 2 tablespoons olive oil
- 4 medium yellow onions, thinly sliced (about 6 cups)
- 3 cloves garlic, thinly sliced
- 2 bay leaves
- 1 1/2 teaspoons kosher salt
- 1 teaspoon fresh thyme leaves
- 1/2 teaspoon freshly ground black pepper
- 1/3 cup dry white wine, such as sauvignon blanc
- 2 tablespoons unsalted butter
For the Meatballs
- 1 pound 90% lean ground beef
- 1 large egg, beaten
- 1/3 cup panko breadcrumbs
- 1 teaspoon kosher salt
- 1/2 teaspoon freshly ground black pepper
- 2 tablespoons olive oil (for cooking)
For the Sauce and Serving
- 1 tablespoon all-purpose flour
- 2 cups low-sodium chicken broth
- 1 teaspoon Dijon mustard
- 1 teaspoon Worcestershire sauce
- 6 ounces freshly grated Gruyere cheese (about 1 cup)
- Toasted baguette slices, for serving
Instructions
- Cook the Onions: Heat olive oil in a large skillet over medium heat. Add the sliced onions, garlic, bay leaves, and kosher salt. Cook, stirring frequently, for about 45 minutes until the onions are deeply golden and have reduced significantly in volume. Add a splash of water if the pan becomes too dry around the 30-minute mark. Add fresh thyme and black pepper and cook for another minute until fragrant. Stir in the white wine and butter, scraping the pan to release any browned bits. Remove and discard bay leaves and transfer the onions to a plate to cool.
- Make the Meatball Mixture: In a large bowl, combine ground beef, beaten egg, panko breadcrumbs, kosher salt, and black pepper. Roughly chop half of the cooled onions and add to the mixture. Mix everything together thoroughly using clean hands.
- Form the Meatballs: Shape the meat mixture into 16 evenly sized balls, about 1 1/2 inches each. To ensure even sizing, form the mixture into a mound, divide into quarters, and then divide each quarter into quarters again.
- Cook the Meatballs: Heat 2 tablespoons of olive oil in the reserved skillet over medium-high heat. Add the meatballs spaced evenly and cook, turning occasionally, until browned on all sides, about 10 to 12 minutes.
- Make the Sauce: Sprinkle the all-purpose flour over the browned meatballs and toss gently, cooking for about 1 minute to remove the raw flour taste. Add the low-sodium chicken broth, remaining reserved onions, Dijon mustard, and Worcestershire sauce. Stir well and let the sauce simmer until it thickens and darkens slightly, about 10 minutes.
- Add Cheese and Broil: Preheat your oven’s broiler on low setting. Sprinkle the grated Gruyere cheese evenly over the meatballs and sauce in the skillet. Place under the broiler for about 2 minutes or until the cheese melts and bubbles lightly.
- Serve: Serve the French onion meatballs hot with toasted baguette slices to soak up the flavorful sauce. Leftovers can be refrigerated and will keep up to 5 days.
Notes
- If the onions begin to stick or dry out during cooking, adding a splash of water helps prevent burning.
- Using 90% lean ground beef balances flavor and fat content for juicy meatballs without being greasy.
- Gruyere cheese adds a nutty, melty richness that complements the savory sauce perfectly.
- Be sure to brown the meatballs completely before adding the sauce for the best texture and flavor.
- This dish pairs wonderfully with a green salad or steamed vegetables for a complete meal.
- Leftover meatballs can be reheated gently on the stovetop or in the microwave, preserving their juiciness.
Nutrition
- Serving Size: 4 meatballs with sauce and baguette
- Calories: 430
- Sugar: 6 g
- Sodium: 550 mg
- Fat: 24 g
- Saturated Fat: 9 g
- Unsaturated Fat: 13 g
- Trans Fat: 0 g
- Carbohydrates: 24 g
- Fiber: 2 g
- Protein: 30 g
- Cholesterol: 110 mg