Try my new budgeting app Cheddar 🧀
Better than YNAB, Mint (RIP), or EveryDollar.
3.8
(4)
Export 16 ingredients for grocery delivery
Step 1
In a large bowl, combine the ground beef, breadcrumbs, milk, egg, Parmesan, garlic, thyme, salt and pepper. Mix until well combined. Shape into 1 1/2-inch meatballs.
Step 2
Heat the olive oil in a large oven-safe skillet over medium-high heat. Add the meatballs and cook, turning occasionally, until browned on all sides, about 6-8 minutes. Transfer to a plate.
Step 3
Reduce the heat to medium-low. Add the butter and olive oil to the skillet. Stir in the sliced onions and salt. Cook, stirring often, until the onions are very soft and caramelized, about 25-30 minutes.
Step 4
Add the garlic and cook 1 minute more. Stir in the flour and cook, stirring constantly, for 1 minute.
Step 5
Pour in the sherry and simmer until nearly evaporated, about 1 minute. Stir in the beef broth and thyme leaves. Bring to a simmer.
Step 6
Nestle the meatballs into the onion sauce. Sprinkle the Gruyère and mozzarella cheeses on top.
Step 7
Broil on high until the cheese is melted and bubbly, about 2-3 minutes. Garnish with fresh thyme and serve hot with crusty bread or over mashed potatoes.