Heat the olive oil in a dutch oven or soup pot over medium-high heat. Once hot, add the onions and sauté for 2-3 minutes until softened. Add the mushrooms and cook for 4-5 minutes or until golden. Then, add the chopped, carrots, garlic, and thyme, continue cooking until the mushrooms have caramelized, about 3 minutes. Pour in the soy or tamari sauce, toss to coat until mushrooms are browned. (Remove a few mushrooms and reserve for the topping, if desired).
Whisk together 1/4 cup of the vegetable broth and cornstarch in a measuring jar. Pour into the mushroom mixture along with remaining broth, stir to combine and bring to a boil. Cook, stirring constantly for about 1-2 minutes, or until thickened.
Optional step: At this point, you can blend the soup until smooth and creamy (*see recipe notes). Or skip this step.
Stir in the coconut milk, vegan parmesan if using, plus salt and pepper to taste. Cook for further 5-10 minutes, stirring occasionally until thickened to desired consistency. (Taste and adjust seasonings as needed. Add more broth if it gets too thick).
Serve with reserved mushrooms, fresh parsley and crispy garlic bread or other sides you like!