Go Back

French Onion Meatballs

French onion meatballs with deeply caramelized onions simmered into a rich broth, then baked with a melty Gruyère–provolone cheese crust. Browned 1.5-inch meatballs stay tender as they cook through in the onion sauce.
Prep Time 25 minutes
Cook Time 50 minutes
Total Time 1 hour 15 minutes
Servings: 6 servings
Course: Main Dish
Cuisine: French-American
Calories: 650

Ingredients
  

Meatballs
  • 1.5 lb ground beef
  • 0.33 cup breadcrumbs
  • 1 egg
  • 2 tbsp Worcestershire
  • 1 tsp garlic powder
  • 1 tsp onion powder
  • 0.5 tsp salt to taste
  • 0.5 tsp pepper to taste
French onion sauce
  • 3 large onions 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, salt, and pepper, then form into 1.5-inch meatballs.
  2. Heat butter in a skillet over medium-high heat, add meatballs, and brown them, then transfer them aside.
Caramelize the onions and build the sauce
  1. In the same skillet, caramelize the thinly sliced onions in butter over medium-low heat for 30-35 minutes, stirring until deep golden.
  2. Add dry white wine (or beef broth) to deglaze the skillet, scraping up browned bits.
  3. Stir in beef broth, Worcestershire, and fresh thyme, then bring the sauce to a gentle simmer.
Simmer, cheese, and finish
  1. Return browned meatballs to the sauce and simmer for 15 minutes, so the centers cook through and soak up onion flavor.
  2. Transfer to a baking dish if the skillet isn’t oven-safe, then scatter Gruyère/provolone over the top.
  3. Broil for 3-4 minutes at high heat until the cheese is golden and bubbly.

Notes

Pro tip: slice onions evenly so they caramelize at the same pace; if the pan looks dry during onion cooking, add a splash of broth. Refrigerate leftovers in an airtight container for up to 3-4 days; freeze meatballs (with sauce, before broiling) up to 2 months and broil from thawed until bubbly. For a lighter swap, use lean ground beef (90% or leaner) to keep the texture tender while reducing fat.