Step 1: Make the Meatballs
In a large bowl, mix:
ground beef
breadcrumbs
egg
garlic
Parmesan
salt and pepper
Form into medium meatballs (about 1–1.5 inches).
No need to be perfect — just keep them close in size so they cook evenly.
Step 2: Brown the Meatballs
Heat a skillet over medium heat.
Add the meatballs and cook for about 6–8 minutes, turning to brown all sides.
They don’t need to be fully cooked yet — just get that golden crust.
Remove and set aside.
Step 3: Cook the Onions
In the same pan, add butter and olive oil.
Add sliced onions and cook on low to medium heat for about 20–25 minutes.
Stir occasionally until they turn soft, golden, and slightly caramelized.
(Yeah, this step takes a minute — but it’s where the flavor builds big time.)
Step 4: Make the Sauce
Sprinkle flour over the onions and stir well.
Pour in:
beef broth
Worcestershire sauce
thyme
Let it simmer for a few minutes until the sauce thickens slightly.
Step 5: Add Meatballs Back
Return the meatballs to the pan.
Spoon the onion sauce over them and let everything simmer for about 10–12 minutes, until fully cooked.
Step 6: Add the Cheese
Sprinkle mozzarella and Gruyère over the meatballs.
Cover the pan or place it under the broiler for a few minutes until the cheese melts and gets bubbly and slightly golden.
Step 7: Garnish and Serve
Top with fresh parsley and serve hot.
Honestly… grab some bread, because that sauce is way too good to leave behind 😅