Go Back

French Onion Meatballs

French onion meatballs with tender, browned meatballs simmered in a deeply caramelized onion broth and topped with a melted Gruyere/provolone cheese crust. The sauce is built in one skillet, then finished with a brief broil for golden, bubbly cheese.
Prep Time 25 minutes
Cook Time 50 minutes
Total Time 1 hour 15 minutes
Servings: 6 servings
Course: Dinner
Cuisine: French-American
Calories: 560

Ingredients
  

For meatballs
  • 1.5 lb ground beef
  • 0.33 cup breadcrumbs
  • 1 egg
  • 2 tbsp Worcestershire
  • 1 tsp garlic powder
  • 1 tsp onion powder
  • 1 salt and pepper
For French onion sauce
  • 3 onions large, thinly sliced
  • 4 tbsp butter
  • 0.5 cup dry white wine or beef broth
  • 2 cup beef broth
  • 1 tbsp Worcestershire
  • 1 tbsp fresh thyme
  • 2 cup Gruyere or provolone, shredded

Equipment

  • 1 cast iron skillet
  • 1 sheet pan

Method
 

Make and brown the meatballs
  1. In a mixing bowl, combine ground beef, breadcrumbs, egg, Worcestershire, garlic powder, onion powder, and salt and pepper until evenly incorporated. Roll into 1.5-inch balls and set aside as you form them.
  2. Heat 1 tbsp butter in a cast iron skillet over medium-high heat, then brown the meatballs on all sides. Continue until well-browned, then transfer to a plate and set aside.
Caramelize onions and build the French onion sauce
  1. Lower the heat to medium-low and add the remaining butter to the same skillet with the browned bits. Caramelize onions, stirring occasionally, for 30-35 minutes until deep golden and soft.
  2. Pour in the dry white wine or beef broth to deglaze, scraping up browned fond from the pan. Cook for 1-2 minutes until the liquid looks slightly reduced.
  3. Add beef broth, Worcestershire, and fresh thyme to the skillet and stir to combine. Bring to a gentle simmer, then add the meatballs back into the sauce.
Simmer and finish with melted cheese
  1. Simmer the meatballs in the sauce for 15 minutes, turning them once so they stay coated. The broth should look lightly thickened and the meatballs should be heated through.
  2. Transfer to a baking dish if your skillet isn’t oven-safe, then scatter the Gruyere or provolone over everything. Make sure the cheese covers the surface in an even layer.
  3. Broil for 3-4 minutes until the cheese is golden and bubbly. Pull from the oven when the top is browned with blistered spots.

Notes

Pro tip: thinly slice the onions for faster, more even caramelization—stir more often near the end to prevent scorching. Store leftovers in the refrigerator up to 3-4 days in an airtight container; reheat gently on the stovetop until hot. Freeze the meatballs and sauce (without broiling fresh cheese) up to 2 months; thaw overnight in the fridge and rewarm, then broil with cheese. For a lighter option, use 90% lean ground beef to reduce fat while keeping the savory onion broth.