In a large mixing bowl, combine ground beef, breadcrumbs, egg, Worcestershire sauce, garlic powder, onion powder, salt, and black pepper. Mix everything together until just combined—don’t overwork the meat. Shape the mixture into four equal-sized patties.
Heat a large skillet over medium-high heat. Sear the patties for about 3-4 minutes on each side until they develop a deep brown crust. Remove from the skillet and set aside.
Using the same skillet, melt butter over medium heat. Add the sliced onions and mushrooms, cooking until softened and golden brown. Sprinkle in the flour and stir to coat the vegetables evenly. Slowly pour in the beef broth while whisking continuously to prevent lumps. Add Worcestershire sauce, then season with salt and pepper. Let the gravy simmer until it thickens.
Return the Salisbury steak patties to the skillet, making sure they’re fully coated in the gravy. Cover and let them simmer for 10 minutes. This allows the flavors to meld and the patties to soak up all that rich, savory goodness.
While the steak simmers, boil the cubed potatoes in salted water until fork-tender, about 15 minutes. Drain and return them to the pot. Mash with butter, milk, minced garlic, and salt until smooth and creamy. Adjust seasoning as needed.
Spoon a generous serving of mashed potatoes onto each plate, top with a Salisbury steak patty, and drizzle that rich, flavorful onion mushroom gravy over everything. Garnish with fresh parsley if desired.