In a large bowl, mix together the ground beef, bread crumbs, egg, ketchup, Worcestershire sauce, garlic powder, onion powder, salt, and pepper until well combined.
Shape the mixture into 4-6 oval patties, about ¾ inch thick.
Cook the Patties:
Heat oil in a skillet over medium-high heat. Add the patties and cook for about 4-5 minutes on each side, or until they're nicely browned. Remove the patties from the skillet and set aside. They don't need to be cooked through at this point.
Make the Gravy:
In the same skillet, melt the butter over medium heat. Add the sliced onions and cook until they're softened and golden, about 5-7 minutes.
Sprinkle the flour over the onions, stirring to combine. Cook for an additional minute to get rid of the raw flour taste.
Gradually whisk in the beef broth, ensuring there are no lumps. Add the Worcestershire sauce and soy sauce. Bring the mixture to a simmer, and let it thicken for a few minutes.
Taste and adjust seasoning with salt and pepper as needed.
Finish Cooking the Patties:
Return the patties to the skillet, nestling them into the gravy. Cover and simmer on low heat for about 10-15 minutes, or until the patties are fully cooked through and the gravy has thickened to your liking. Rest for a minute or so before serving.
Serve:
Serve the Salisbury steaks with a generous amount of gravy on top. This dish goes wonderfully with mashed potatoes, green beans, or your favorite side.
Notes
To serve: I love serving salisbury steak over mashed potatoes or buttered egg noodles (like stroganoff). For little kids: This is a super family-friendly recipe but if you've got picky little eaters you can use an immersion blender to blend the onions into the gravy so they'll never know.