Ingredients
Equipment
Method
Mix and form the meatballs
- In a mixing bowl, combine ground beef, breadcrumbs, egg, Worcestershire, garlic powder, salt, and pepper until evenly combined and tacky.
- Roll the mixture into meatballs (about 1 to 1 1/2 inch each), spacing them on a plate as you work.
Brown the meatballs
- Heat the cast iron skillet over medium heat and melt butter, then add the meatballs and brown in the butter.
- Continue browning until the meatballs are golden on most sides, then remove them to a plate.
Caramelize the onions and build the sauce
- Lower heat to medium-low and cook onions in the same skillet, stirring occasionally, until deeply caramelized for 30-35 minutes.
- Add minced garlic and fresh thyme, stirring for about 30 seconds to 1 minute until fragrant.
- Pour in the dry white wine to deglaze the skillet, scraping up browned bits for 1-2 minutes.
- Stir in beef broth and Worcestershire, bringing the sauce to a gentle simmer.
Simmer and melt the Gruyère
- Nestle the browned meatballs into the onion sauce so they are partially submerged.
- Simmer for 10 minutes, allowing the meatballs to cook through and absorb the onion flavor.
- Scatter shredded Gruyère evenly over the skillet to cover the surface.
- Broil for 3-5 minutes until golden and bubbly, watching closely to prevent burning.
Notes
For best caramelized flavor, keep the onions at a steady medium-low heat and stir only as needed so they develop dark, sticky brown bits. Store leftovers in the refrigerator up to 3-4 days; reheat gently in a skillet or microwave until hot. Freezing is not ideal because the sauce and cheese can change texture after thawing. For a lighter option, swap half the ground beef with lean ground turkey while keeping the same seasonings and simmer time.
