Begin by sauteeing onions, carrots and celery in 1-1/2 tsp each margarine and oil.
Prepare mushrooms by removing stems, wiping clean.
Using a knife, not a food processor, chop mushrooms into a fine dice. No large pieces.
In a skillet on medium-high heat, add the oil, onions and chopped mushrooms.
Season immediately with salt and pepper. The salt will draw out the moisture in the mushrooms. Continue to cook until all moisture has evaporated.
Remove from the heat and stir in the minced garlic. It will cook a little from the residual heat of the pan.
Prepare the flax "eggs" by combining the ground flax with water and allowing to rest in the refrigerator. It will become gelatinous and be our binder.
Add the flax mixture along with the remaining mushroom steak ingredients. Combine with a fork until coarse and crumbly.
Season with salt and pepper.
At this point the mixture should hold together. If it seems a bit dry, add a Tablespoon of water (or you could add a splash of almond or coconut milk).
Cover with plastic wrap and refrigerate for several hours. Preferably overnight. This will allow the moisture to permeate the dry ingredients and the flavors to meld.
Preheat oven to 425 degrees.
Form the mushroom mixture into patties. Bake for approximately 15-20 minutes, flipping halfway through. They should be firm, but tender and lightly golden on each side.
To complete the tomato onion gravy, add the remaining ingredients , stirring to combine until hot and bubbly.
Serve atop garlic mashed potatoes with your favorite green vegetable for a side.