Ingredients
Equipment
Method
Make and brown the meatballs
- In a bowl, mix ground beef, breadcrumbs, egg, Worcestershire, garlic powder, salt, and pepper until just combined. Roll into meatballs and set aside while you caramelize the onions.
- Heat butter in an oven-safe cast iron skillet over medium-high heat, then brown the meatballs until golden on all sides. Remove meatballs to a plate.
Build the French onion base
- Reduce heat to medium-low and add sliced onions to the same skillet. Cook, stirring occasionally, for 30-35 minutes until deeply caramelized, then add minced garlic and fresh thyme.
- Pour in dry white wine to deglaze the pan, scraping up the browned bits. Simmer 2-3 minutes, then add beef broth and Worcestershire.
Simmer and melt the Gruyère
- Nestle the browned meatballs into the caramelized onion sauce. Simmer for 10 minutes until the meatballs are heated through.
- Scatter Gruyere over everything in an even layer. Broil for 3-5 minutes until golden and bubbly, then serve hot.
Notes
Pro tip: caramelize the onions slowly (medium-low) so they turn jammy and sweet rather than browned too quickly. Store leftovers in the fridge up to 3 days; reheat in a skillet over medium-low until warmed through. Freezing is not recommended because the Gruyère can separate after thawing. For a gluten-free swap, use gluten-free breadcrumbs for the meatballs.
