Ingredients
Equipment
Method
Mix and brown the meatballs
- In a mixing bowl, combine ground beef, breadcrumbs, egg, Worcestershire, garlic powder, and salt and pepper, then mix until just combined and roll into meatballs. Brown the meatballs in 1–2 batches in butter in a oven-safe skillet over medium-high heat, turning until golden on all sides.
- Once browned, remove the meatballs to a plate while you cook the onions.
Caramelize the French onion base
- In the same skillet, cook the thinly sliced onions over medium-low heat, stirring occasionally, for 30-35 minutes until deeply caramelized. Add the minced garlic and fresh thyme during the last 2-3 minutes so they soften and become fragrant.
- Pour in the dry white wine to deglaze the pan, scraping up browned bits from the bottom. Add beef broth and Worcestershire, then bring to a gentle simmer.
Simmer and broil with Gruyère
- Nestle the meatballs into the caramelized onion sauce, making sure they’re partially submerged, then simmer for 10 minutes to heat through and meld flavors. Season with salt and pepper to taste if needed.
- Scatter the shredded Gruyère over the entire surface and broil for 3-5 minutes until golden and bubbly. Let it stand for 2-3 minutes before serving so the sauce thickens slightly.
Notes
Pro tip: thinly slice the onions and keep the heat at medium-low so they caramelize slowly instead of browning too fast. Store leftovers in the fridge up to 3 days; reheat gently on the stovetop with a splash of broth. Freezing is not recommended for the best texture of the onions and cheese. Dietary swap: use gluten-free breadcrumbs to keep the meatballs gluten-free while maintaining the skillet method.
