In a large bowl, combine the ground beef, breadcrumbs, beaten egg, 2 tbsp Worcestershire sauce, ketchup, garlic powder, onion powder, salt, and pepper. Mix gently with your hands or a fork until just combined—do not overmix. Shape the mixture into 4 oval-shaped patties, about 3/4-inch thick.
Heat the vegetable oil in a large skillet over medium-high heat. Once hot, add the patties and cook for 4-5 minutes per side, until well-browned and cooked through. Transfer the patties to a plate and set aside. Do not clean the skillet.
Reduce the heat to medium. Add the butter to the same skillet. Once melted, add the sliced onions and cook for 5-7 minutes, stirring occasionally, until softened and golden brown.
Sprinkle the flour over the onions and cook, stirring constantly, for 1 minute. Gradually whisk in the beef broth, ensuring no lumps form. Stir in the remaining 1 tbsp Worcestershire sauce, Dijon mustard, and dried thyme. Bring to a simmer and cook for 3-5 minutes, until the gravy thickens. Season with salt and pepper to taste.
Return the cooked patties to the skillet, nestling them into the gravy. Reduce heat to low, cover, and simmer for 10 minutes, allowing the flavors to meld and the patties to heat through.
While the steaks simmer, prepare your mashed potatoes (if making from scratch) and cook the green beans by steaming or sautéing until tender-crisp. To serve, place a generous scoop of mashed potatoes on each plate, top with a Salisbury steak, spoon plenty of onion gravy over everything, and arrange the green beans alongside.