In a large bowl, mix ground beef, breadcrumbs, egg, minced garlic, onion powder, garlic powder, salt, and black pepper until just combined. Form into 12 to 14 meatballs.
Heat olive oil in a large skillet over medium heat. Add the meatballs and cook for 6 to 8 minutes, turning often, until browned on all sides and mostly cooked through. Remove and set aside.
In the same skillet, melt butter over medium heat. Add mushrooms and cook for 4 to 5 minutes until softened.
Sprinkle in the flour and stir for 1 minute. Slowly pour in beef broth and Worcestershire sauce, stirring until smooth. Simmer for 3 to 4 minutes until the gravy thickens.
Return the meatballs to the skillet and spoon the gravy over them. Cover and cook for 5 to 7 minutes until the meatballs are fully cooked and tender.
Sprinkle with parsley if using and serve hot over mashed potatoes, rice, or egg noodles. Store leftovers in the fridge for up to 3 days.
