In a large bowl, combine ground beef, breadcrumbs, milk, egg, onion powder, garlic powder, salt, and pepper. Mix gently until just combined, being careful not to overmix.
Divide the mixture into four equal portions and shape them into patties, about 0.75 inches thick. Make a slight indentation in the center of each patty to prevent them from puffing up.
In a large skillet, melt 1 tablespoon of butter over medium-high heat. Sear the patties for about 3-4 minutes per side until browned. Remove patties from the skillet and set aside.
Add the remaining 1 tablespoon of butter to the skillet. Add sliced mushrooms and chopped onion and cook until softened, about 5-7 minutes.
Sprinkle the flour over the mushrooms and onions and stir well to coat. Cook for 1 minute.
Gradually whisk in the beef broth and Worcestershire sauce. Bring the mixture to a simmer, scraping up any browned bits from the bottom of the skillet.
Return the browned patties to the skillet, nestling them into the gravy. Reduce heat to low, cover, and simmer for 15-20 minutes, or until the patties are cooked through and the gravy has thickened. Season with salt and pepper to taste.
Serve the Salisbury steak hot, spooning plenty of gravy over the patties.
Notes
This Salisbury steak is delicious served over mashed potatoes or with a side of steamed vegetables.