In large bowl mix together all the meatball ingredients (beef, breadcrumbs, egg, Worcestershire sauce, onion powder, garlic salt, mustard powder, salt, and black pepper).
Lightly oil your hands. Shape the meat into 12 evenly sized meatballs (a medium cookie scoop works great for forming the meatballs).
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 butter and garlic to the mushrooms and onions. 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 meatballs back into the gravy and cook until the meatballs are cooked to your preferred doneness (usually about 5-10 minutes), stirring the gravy occasionally around the meatballs. Taste for seasoning and add more salt & pepper, if desired.
Serve the meatballs topped with the mushroom sauce. They are excellent over rice, pasta or mashed potatoes! Top with optional chives.