In a large bowl, mix ground beef, breadcrumbs, egg, milk, Worcestershire sauce, ketchup, onion powder, garlic powder, salt, and pepper just until combined.
Shape into 6 oval patties. Press a small indentation into the center of each.
Heat a large skillet over medium-high heat. Add olive oil. Sear patties 3 to 4 minutes per side until browned. Transfer to a plate.
Reduce heat to medium. Add butter to the skillet. Add onions and cook 6 to 8 minutes until softened. Add mushrooms (if using) and cook 4 to 5 minutes more. Stir in garlic for 30 seconds.
Sprinkle flour over the onion mixture. Stir constantly for 1 minute.
Slowly whisk in beef broth, scraping up browned bits. Stir in Worcestershire sauce, ketchup, salt, pepper, and Dijon (if using). Bring to a gentle simmer.
Return patties (and any juices) to the skillet. Spoon gravy over the tops. Cover and simmer on low for 12 to 15 minutes, until patties reach 160°F internally.
Taste gravy and adjust seasoning. Serve hot with plenty of gravy.