In a large bowl, combine the beef, grated onion, breadcrumbs, egg, garlic, ketchup, Worcestershire sauce, kosher salt, ground mustard, and black pepper.
Divide the meat mixture into four equal patties that oval shaped and approximately 1/2 an inch thick. Set aside.
Heat 1 tablespoon olive oil in a large skillet over medium heat. Add the steaks and brown each side, about 2 minutes per side. No need to cook them all the way through. Remove from the skillet and set aside.
Melt the butter in the skillet. Add in the onion and garlic, season with salt and pepper, and sauté for about 3 minutes. Add in the mushrooms and cook until tender, about 5 minutes.
Add the flour to the pan and toss the mushrooms in it. Slowly add in the beef stock, scraping up the browned bits as you slowly whisk it in to the skillet. Stir in the ketchup and Worcestershire sauce. Turn up the heat. Bring to a simmer, bring the heat back down, and cook for 10 minutes, stirring occasionally.
Add the browned steaks (plus any liquid that has accumulated on the plate), and cook for 5 more minutes, or until the steaks are cooked through and the gravy has thickened.