Sauté Aromatics: In a large Dutch oven or pot, heat olive oil and 1 tablespoon of butter over medium heat. Add diced onion, carrots, and celery. Cook, stirring occasionally, until vegetables soften, about 8-10 minutes.
Brown Mushrooms: Add sliced cremini and shiitake mushrooms to the pot. Increase heat slightly and cook until mushrooms release their liquid and begin to brown, about 7-10 minutes. Stir in minced garlic and cook for another minute until fragrant.
Add Wild Rice and Deglaze: Stir in the rinsed wild rice. If using, pour in the white wine and scrape up any browned bits from the bottom of the pot. Let it simmer until the wine has mostly evaporated, about 2-3 minutes.
Build the Broth: Pour in the vegetable broth, bringing the mixture to a simmer. Reduce heat to low, cover, and cook for 35-40 minutes, or until the wild rice is tender and has just begun to burst open.
Prepare Roux: While the rice cooks, melt the remaining 1 tablespoon of butter in a small saucepan over medium heat. Whisk in the flour and cook for 1-2 minutes, stirring constantly, until a light roux forms. Gradually whisk in the whole milk until smooth and thickened.
Finish the Soup: Once the wild rice is tender, slowly whisk the milk-roux mixture into the soup. Stir in the heavy cream and fresh thyme. Bring the soup to a gentle simmer (do not boil) and cook for another 5-7 minutes, stirring occasionally, until the soup has thickened to your desired consistency.
Season and Serve: Taste the soup and season generously with salt and freshly ground black pepper. Serve hot, garnished with fresh chopped parsley or chives.