Place cubed potatoes in a pot of salted water, bring to a boil, and cook for 15-20 minutes until tender.
In a large bowl, combine ground beef, breadcrumbs, egg, onion powder, garlic powder, salt, and pepper. Form into 4 oval patties.
Heat oil in a large skillet over medium-high heat. Sear patties for 4-5 minutes per side until browned. Remove patties and set aside.
In the same skillet, melt 3 tablespoons butter. Add sliced mushrooms and onions, sautéing for 5-7 minutes until softened and browned.
Whisk in flour and cook for 1-2 minutes to create a roux. Gradually whisk in beef broth and Worcestershire sauce, scraping the bottom of the pan.
Stir in heavy cream and bring to a simmer. Return patties to the skillet and cook for 5-10 minutes until the sauce thickens and beef is cooked through.
Drain potatoes and mash with milk and 4 tablespoons butter until smooth. Season with salt to taste.
Serve hamburger steaks and gravy over a bed of mashed potatoes.