01 -
Combine ground beef, breadcrumbs, Parmesan cheese, egg, minced garlic, onion powder, Italian seasoning, salt, and pepper in a large bowl. Mix gently until just combined to avoid tough meatballs.
02 -
Form the mixture into 1-inch diameter meatballs and place them on a plate or tray while preparing to cook.
03 -
Heat olive oil in a large skillet over medium heat. Add meatballs in a single layer and cook, turning occasionally, until evenly browned but not fully cooked, about 6 to 8 minutes. Remove and set aside.
04 -
In the same skillet, melt butter over medium-low heat. Add sliced onions and sugar, stirring occasionally. Cook slowly until onions are golden brown and soft, approximately 15 to 20 minutes.
05 -
Sprinkle flour over caramelized onions and stir thoroughly to coat. Cook for 1 minute to eliminate raw flour taste.
06 -
Pour in beef broth, white wine if using, and Worcestershire sauce. Stir and scrape browned bits from the skillet bottom. Bring to a gentle simmer.
07 -
Allow sauce to simmer for 5 to 7 minutes until slightly thickened and flavors meld.
08 -
Return browned meatballs to the skillet, nestling them into the sauce. Spoon sauce over the meatballs to coat evenly.
09 -
Cover skillet and simmer for 10 to 15 minutes until meatballs are cooked through. Stir gently halfway to ensure even coating.
10 -
Preheat broiler. Sprinkle shredded Gruyère evenly over meatballs and sauce. Broil 2 to 3 minutes until cheese melts, bubbles, and turns golden. Watch carefully to prevent burning.
11 -
Optionally, sprinkle chopped fresh parsley before serving to add color and freshness.