01 -
Place ground beef, breadcrumbs, Parmesan, egg, garlic, onion powder, Italian seasoning, salt, and black pepper in a large bowl and mix until fully integrated.
02 -
Form the mixture into uniform 2.5 cm meatballs and set aside on a tray.
03 -
Heat olive oil in a large skillet over medium heat. Add meatballs and cook, turning to brown all sides, for 6–8 minutes. Transfer meatballs to a plate and reserve.
04 -
In the same skillet, melt butter over medium-low heat. Add sliced onions and sprinkle with sugar. Cook, stirring frequently, until deeply caramelized and golden, about 15–20 minutes.
05 -
Sprinkle flour over caramelized onions and stir well to coat. Pour in beef broth, white wine if using, and Worcestershire sauce. Scrape the bottom to deglaze. Bring to a gentle simmer.
06 -
Return meatballs to the skillet with the onions and sauce. Cover and simmer gently for 10–15 minutes, ensuring meatballs are cooked through.
07 -
Preheat broiler to high. Sprinkle shredded Gruyère over the meatballs and sauce. Place skillet under the broiler for 2–3 minutes, or until cheese is melted and golden brown.
08 -
Garnish with chopped fresh parsley if desired, and serve hot with crusty bread, mashed potatoes, or pasta.