Ingredients
Equipment
Method
Make and brown the meatballs
- In a large bowl, mix ground beef, breadcrumbs, egg, Worcestershire, garlic powder, salt, and pepper until just combined. Roll into evenly sized meatballs.
- Heat butter in an oven-safe cast iron skillet over medium-high heat, then brown the meatballs in the hot butter. Cook until golden on the outside, about 8-10 minutes, then remove to a plate.
Build the French onion base
- Add sliced onions to the same skillet and cook over medium-low heat, stirring occasionally, until deeply caramelized. Continue for 30-35 minutes.
- Stir in minced garlic and fresh thyme and cook for 1 minute to bloom their aroma.
- Pour in dry white wine and deglaze the pan, scraping up browned bits from the bottom. Simmer briefly, about 2 minutes.
- Add beef broth and Worcestershire, then stir to combine and bring the mixture to a gentle simmer.
Simmer and finish with Gruyere
- Nestle the browned meatballs into the caramelized onion sauce so they are partially submerged. Simmer for 10 minutes, letting the sauce coat the meatballs.
- Scatter Gruyere over everything in an even layer. Broil 3-5 minutes until golden and bubbly, watching closely to avoid scorching.
Notes
Pro tip: slice onions thin and keep them at a steady medium-low heat so they caramelize rather than brown too fast. Store leftovers in the refrigerator up to 3-4 days; reheat gently in a skillet until warmed through. Freezing is not recommended for best texture of the Gruyere. For a lighter option, use 90% lean ground beef to reduce fat while keeping the skillet saucy.
