01 -
In a large bowl, mix ground beef, breadcrumbs, Parmesan, egg, garlic, onion powder, Italian seasoning, salt, and black pepper until evenly incorporated.
02 -
Roll the mixture into 2.5 cm meatballs and set aside on a tray.
03 -
Heat olive oil in a large skillet over medium heat. Brown the meatballs on all sides for 6 to 8 minutes. Transfer meatballs to a plate and set aside.
04 -
In the same skillet, melt butter. Add sliced onions and sugar. Cook over medium-low heat, stirring frequently, until deeply caramelized, about 15 to 20 minutes.
05 -
Sprinkle flour over the caramelized onions and stir to coat. Pour in beef broth, white wine (if using), and Worcestershire sauce. Scrape up any browned bits from the pan and bring to a simmer.
06 -
Return browned meatballs to the skillet. Cover and simmer over low heat for 10 to 15 minutes, allowing flavours to meld and meatballs to cook through.
07 -
Preheat the broiler. Sprinkle grated Gruyère cheese over the meatballs and sauce. Broil for 2 to 3 minutes until the cheese is melted and golden.
08 -
Scatter with chopped parsley if desired and serve hot. Accompany with crusty bread, mashed potatoes, or pasta for a complete meal.