Go Back

French Onion Meatballs

French Onion Meatballs with browned 1.5-inch meatballs and a slow-cooked, caramelized onion sauce. Finished with a Gruyere/provolone cheese crust that broils golden and bubbly over the top.
Prep Time 25 minutes
Cook Time 50 minutes
Total Time 1 hour 15 minutes
Servings: 6 servings
Course: Main Dish
Cuisine: French-American
Calories: 610

Ingredients
  

meatballs
  • 1.5 lb ground beef Use 80–90% lean for best browning.
  • 0.33 cup breadcrumbs Plain breadcrumbs work well.
  • 1 egg Helps bind the meatballs.
  • 2 tbsp Worcestershire Adds savory depth to the meat mixture.
  • 1 tsp garlic powder
  • 1 tsp onion powder
  • 1 salt Season to taste; add during mixing.
  • 1 black pepper Season to taste; add during mixing.
French onion sauce
  • 3 large onions Thinly sliced for even caramelization.
  • 4 tbsp butter Used for browning and caramelizing.
  • 0.5 cup dry white wine Optional swap: use beef broth instead.
  • 2 cup beef broth Plus extra for deglazing if needed.
  • 1 tbsp Worcestershire Stir into the sauce for classic flavor.
  • 1 tbsp fresh thyme Use fresh for best aroma.
  • 2 cup Gruyere or provolone Shred and scatter over the meatballs.

Equipment

  • 1 cast iron skillet
  • 1 sheet pan

Method
 

Make and brown the meatballs
  1. Mix ground beef, breadcrumbs, egg, Worcestershire, garlic powder, onion powder, salt, and black pepper until evenly combined, then form into 1.5-inch balls.
  2. Heat 1–2 tablespoons of butter in a skillet over medium-high heat and brown the meatballs until well browned, then set aside.
Caramelize onions and build the sauce
  1. In the same skillet, melt butter over medium-low heat and add the thinly sliced onions.
  2. Caramelize the onions over medium-low heat for 30–35 minutes until deeply golden and soft, stirring occasionally (visual cue: sticky caramel color at the edges).
  3. Deglaze the skillet with dry white wine, scraping up browned bits.
  4. Add beef broth, Worcestershire, and fresh thyme, then bring the sauce to a gentle simmer.
Simmer, bake, and broil the cheese crust
  1. Return the browned meatballs to the onion sauce and simmer for 15 minutes until cooked through and coated in gravy.
  2. Transfer to a baking dish if your skillet isn’t oven-safe, then scatter shredded Gruyere or provolone over everything.
  3. Broil for 3–4 minutes until the cheese is golden and bubbly, watching closely to avoid burning.

Notes

Pro tip: caramelize the onions patiently over medium-low heat—dark patches are fine, but keep scraping the fond so the sauce stays smooth. Store leftovers covered in the fridge up to 3–4 days; reheat gently in a skillet or microwave until hot. Freezing: yes, freeze meatballs and sauce (without broiling the cheese) up to 2 months, then thaw and broil the cheese fresh. For a lower-fat option, use 90–93% lean ground beef and keep an extra splash of broth to maintain sauce richness.