In a large bowl, combine ground beef, breadcrumbs, Parmesan cheese, parsley, egg, garlic powder, onion powder, salt, pepper, and Worcestershire sauce. Mix until well combined, then form into 1-inch meatballs.
Heat olive oil in a large skillet over medium heat. Add meatballs and cook until browned on all sides, about 5-7 minutes. Remove meatballs from the skillet and set aside.
In the same skillet, add sliced onions and mushrooms. Sauté until softened, about 5 minutes.
Pour in beef broth and bring to a simmer. Return meatballs to the skillet, cover, and let simmer for 20 minutes.
In a small bowl, mix cornstarch and water to create a slurry. Stir the slurry into the gravy and cook for an additional 2-3 minutes until thickened.
Serve meatballs with gravy over mashed potatoes or egg noodles.