Heat a large stockpot over medium-high heat. Add butter and oil. Once melted add onions, shallots, and leeks. Cook 4-5 min. Then add garlic, mushrooms, thyme, and salt. Mix well and cook for another 3 min. Lastly, add marsala wine and scrape the bottom of the pan and mix well, cooking for another 3 min. Remove all of the mushroom mixture except 1/2 cup and set aside.
Add the flour to the remaining mushroom in the pot and stir to combine—cook for 2-3 min. Then add in vegetable stock slowly, stirring until smooth. Continue to add half-n-half, milk, salt, pepper, garlic powder, bay leaf, and sage. Mix well and bring to a low boil—don't let it rapidly boil—then reduce the heat to low, return the mushroom mixture to the pot, cover, and let simmer for 15 min. Stir occasionally.
Once done, remove from heat and add the parmesan cheese and parsley. Cover and let sit for 10 minutes, to macerate. Taste for salt and adjust if needed. Serve warm, topped with fresh parsley.