Preheat your oven to 400°F (200°C).
In a large mixing bowl, combine ground beef, breadcrumbs, onion, garlic, egg, Worcestershire sauce, salt, pepper, and dried parsley. Mix well until combined.
Shape the meat mixture into 12 equal-sized meatballs and place them on a baking sheet.
Bake the meatballs in the preheated oven for about 20-25 minutes, until cooked through and browned.
While the meatballs are baking, prepare the mashed potatoes. In a large pot, bring water to a boil and add the cubed potatoes. Cook until tender, about 15-20 minutes.
Drain the potatoes and return them to the pot. Add milk, butter, salt, and pepper. Mash until smooth and creamy, adjusting the milk as needed for desired consistency.
In a large skillet, heat olive oil over medium heat. Whisk in the flour and cook for about 1-2 minutes until golden.
Gradually add beef broth, whisking constantly, until the mixture thickens. Stir in soy sauce, ketchup, garlic powder, and season with salt and pepper. Cook for an additional 5 minutes.
Once the meatballs are done baking, add them to the skillet with the gravy and coat well.
Serve the Salisbury meatballs over the creamy mashed potatoes, drizzling more gravy on top if desired.