In large bowl mix together all the steak ingredients (beef, breadcrumbs, egg, Worcestershire sauce, onion powder, garlic salt, mustard powder, salt, and black pepper). Shape into 4 oval patties.
Heat large pan over medium-high heat and then add oil. Brown both sides of patties (about 1 minute per side) and then remove from the pan.
Keep same pan and beef juices over medium high heat. Add the mushrooms and onion and cook until onions are golden and excess mushroom liquid evaporates, about 10 minutes.
Add garlic and butter. Cook for about 1 minute.
Stir in the flour, cooking and stirring to remove lumps. Add about 1/2 - 1 cup of beef stock, whisking until incorporated.
Increase heat to High. Slowly pour in the remaining broth and whisk until well combined. Season with salt and pepper, to taste (the saltiness and flavors will concentrate some when it reduces down).
Once gravy starts to boil, reduce heat to low. Stirring often, simmer until the gravy starts to thicken, about 5-10 minutes. Add salisbury steak patties back into the gravy and cook until the steak patties are cooked to your preferred doneness (usually about 5-10 minutes), stirring the gravy occasionally around the steaks. Taste for seasoning and add more salt & pepper, if desired.