Mix the Beef - In a medium bowl gently mix the ground beef, breadcrumbs, egg, salt, pepper, and soy sauce until just combined, do not overmix.
Form the Patties - Divide the beef mixture into 4 even mounds. Form into ½-inch thick oval patties, about 5-inches long and 2 ½-inches wide. Cover and chill the patties in the refrigerator for 15 minutes.
Cook the Steaks - Heat olive oil in a 12-inch cast iron skillet or nonstick pan over medium-high heat. Once the oil is hot, add the beef patties. Cook until golden brown, 3 to 4 minutes. Flip and reduce the heat down to medium. Cook until the internal temperature reaches 140 to 145ºF (60 to 63ºC) for medium-well, or 150 to 155ºF (65 to 68ºC) for well-done, about 3 to 5 minutes. There will be some carryover cooking of the meat after resting. Transfer to a clean plate.
Cook the Vegetables - Carefully wipe the pan clean or keep the drippings for a more flavorful sauce. Heat the butter in the skillet over medium heat. Once melted add the onions. Saute until softened, about 3 minutes. Add the mushrooms, salt, and pepper. Saute until the mushrooms are tender, 3 minutes. Add the garlic and saute for 30 seconds.
Thicken the Sauce - Add the tomato paste and flour, stir and cook for 30 seconds. Add the balsamic vinegar, stir and cook for 15 seconds. Slowly pour in the beef stock, stir and cook until thickened, about 2 minutes.
Warm the Steaks - Place the steaks back in the pan, turning to coat in the sauce to warm.
To Serve - Serve the salisbury steaks topped with the mushroom sauce. Garnish with parsley.
Notes
Softer Steaks: For a softer texture similar to meatballs, use 1/2 cup of bread crumbs.
Storing: Refrigerate for up to 4 days.
Reheating: Reheat in 15 to 30-second increments in the microwave until the steaks are hot on both sides.