In a large bowl combine the ground beef, breadcrumbs, Parmesan, egg, garlic, onion powder, Italian seasoning, salt, and pepper. Mix gently until just combined. Roll into 1‑inch meatballs and set aside.
Heat olive oil in a large skillet over medium heat. Add the meatballs in batches and brown on all sides for about 6 to 8 minutes. Remove and set aside.
In the same skillet melt butter over medium‑low heat. Add the sliced onions and sugar and cook for 15 to 20 minutes, stirring frequently, until golden and soft.
Sprinkle the flour over the onions and stir to coat. Pour in the beef broth and add Worcestershire sauce, scraping the skillet bottom to release browned bits. Simmer for 5 to 7 minutes until slightly thickened.
Return the meatballs to the skillet, spoon sauce over them, cover, and simmer for 10 to 15 minutes until cooked through.
Preheat your broiler. Sprinkle the shredded cheese over the meatballs and sauce and broil for 2 to 3 minutes until bubbly and golden.
Garnish with fresh parsley if desired and serve hot with crusty bread, mashed potatoes or pasta.