Ingredients
Equipment
Method
- In a large bowl, combine ground beef, breadcrumbs, Parmesan cheese, egg, minced garlic, onion powder, Italian seasoning, salt, and pepper. Mix gently until just combined. Roll mixture into balls about 1 inch in diameter (golf ball size), yielding approximately 16 to 18 meatballs. Set aside.
- Heat olive oil in a 12-inch skillet over medium heat. Once oil shimmers (about 2 minutes), add meatballs in batches, leaving 1 inch space between each. Brown on all sides for 6 to 8 minutes total, turning every 2 minutes. Transfer to a plate and set aside.
- Reduce heat to medium-low. Add butter to the skillet. Once melted, add sliced onions and sugar. Cook for 15 to 20 minutes, stirring every 2 to 3 minutes, until onions are deeply caramelized and golden brown. If onions stick or brown too quickly, add a splash of broth and reduce heat.
- Sprinkle flour over the caramelized onions and stir for 1 minute to coat evenly. Add beef broth, wine (if using), and Worcestershire sauce. Scrape up any browned bits from the bottom. Bring to a simmer and cook for 5 to 7 minutes until slightly thickened and reduced by about one-third.
- Return meatballs to the skillet, nestling them into the sauce. Cover and simmer for 10 to 15 minutes, stirring gently halfway through, until meatballs reach an internal temperature of 160°F and sauce coats the back of a spoon.
- Preheat broiler to high and position oven rack 6 inches from heat source. Sprinkle Gruyère cheese evenly over the meatballs and sauce. Broil for 2 to 3 minutes until cheese is melted and bubbly with golden spots. Watch closely to prevent burning.
- Garnish with fresh parsley if desired and serve hot with crusty bread, mashed potatoes, or egg noodles.
Notes
Can substitute ground turkey or chicken for beef. Leaner meats may need extra olive oil for moisture. Replace wine with additional beef broth if preferred. Swiss, Fontina, or mozzarella can substitute for Gruyère. Store leftovers in refrigerator for up to 3 days or freeze for up to 3 months. For best results when freezing, add cheese topping after reheating.
