Heat olive oil in a large skillet over medium heat. Add ground beef and onion, then cook for 6 to 8 minutes until the beef is browned and the onion is softened. Drain excess grease if needed.
Stir in garlic, onion powder, garlic powder, salt, and black pepper. Cook for 30 seconds.
Sprinkle flour over the beef mixture and stir well for 1 minute.
Slowly pour in the beef broth while stirring. Add Worcestershire sauce and simmer for 4 to 5 minutes until the gravy thickens.
Warm the mashed potatoes in a saucepan or microwave until hot.
Spoon the mashed potatoes onto plates and top with the ground beef and gravy. Sprinkle with parsley if using and serve warm.
