Add a couple of tablespoons olive oil to a large saucepan or a dutch over over medium heat. Add the mushrooms, being careful not crowd the pan. Work in batches if necessary. Saute the mushrooms until the are nicely browned on both sides and remove them from the pan.
Add the onion and some olive olive oil if needed. Saute the onions until they take on a golden color. Add the soy sauce and the garlic and continue to cook until the garlic just starts to brown. Then remove the onions and garlic from the pan.
Turn the heat down to low and add the flour and butter or olive oil. Stir constantly to completely coat the flour particles with the fat. This is called a roux, it is a great thickener for sauces.
Stir in the mushrooms, garlic, and onions. Then slowly add vegetable stock, stirring regularly until the desired thickness is achieved.
Serve immediately on top of fries, knishes, pasta, or chicken, the sky is the limit.