Ingredients
Equipment
Method
Make and brown the meatballs
- Mix ground beef, breadcrumbs, egg, Worcestershire, garlic powder, onion powder, salt, and black pepper until evenly combined, then form into 1.5-inch balls.
- Heat 1–2 tablespoons of butter in a skillet over medium-high heat and brown the meatballs until well browned, then set aside.
Caramelize onions and build the sauce
- In the same skillet, melt butter over medium-low heat and add the thinly sliced onions.
- Caramelize the onions over medium-low heat for 30–35 minutes until deeply golden and soft, stirring occasionally (visual cue: sticky caramel color at the edges).
- Deglaze the skillet with dry white wine, scraping up browned bits.
- Add beef broth, Worcestershire, and fresh thyme, then bring the sauce to a gentle simmer.
Simmer, bake, and broil the cheese crust
- Return the browned meatballs to the onion sauce and simmer for 15 minutes until cooked through and coated in gravy.
- Transfer to a baking dish if your skillet isn’t oven-safe, then scatter shredded Gruyere or provolone over everything.
- Broil for 3–4 minutes until the cheese is golden and bubbly, watching closely to avoid burning.
Notes
Pro tip: caramelize the onions patiently over medium-low heat—dark patches are fine, but keep scraping the fond so the sauce stays smooth. Store leftovers covered in the fridge up to 3–4 days; reheat gently in a skillet or microwave until hot. Freezing: yes, freeze meatballs and sauce (without broiling the cheese) up to 2 months, then thaw and broil the cheese fresh. For a lower-fat option, use 90–93% lean ground beef and keep an extra splash of broth to maintain sauce richness.
