Heat a large skillet over medium heat, add the oil, and then add the onion and garlic and a good pinch of salt. Cook, stirring frequently, until the onion is translucent and starting to turn golden. Add splashes of water to help the onion cook evenly. 4 to 5 minutes.
Add in the mushrooms and another good pinch of salt, and cook for a minute. Then, mix in the soy sauce, balsamic vinegar, and Dijon mustard. Mix really well, and continue to cook until the mushrooms are al dente, another 5 to 7 minutes. If the pan is drying out too much, you can cover the pan to retain moisture and to help the mushrooms cook faster.
Now, mix in thyme, salt, pepper. Mix in the non-dairy yogurt/sour cream and vegan Parmesan.
Add in ½ cup of the water or broth and all of the beans, tossing well, then cover and cook for 6 to 8 minutes.
Taste and adjust salt and flavor. Add more of the water or broth, if you want the beans to be saucier, or cook for a few minutes longer without the lid, if you want the sauce to thicken a lot. The sauce thickens as it cools, so you want to adjust accordingly.
Switch off the heat, garnish with some vegan Parmesan, pepper flakes, and herbs of choice. Serve with fresh bread, toasted bread, or garlic bread or other sides of choice. You can also serve this over pasta or baked potato or mashed potatoes.
Store refrigerated for upto 3 days. Reheat on the stove or microwave. Add non dairy milk if the sauce has thickened too much.