Prep the mushrooms: Wipe them clean with a damp paper towel and slice.
Avoid rinsing under running water if possible; mushrooms absorb water and won’t brown as well.
Heat the pot: In a large pot or Dutch oven, warm the butter and olive oil over medium-high heat until the butter foams.
Brown the mushrooms: Add mushrooms in an even layer with a pinch of salt. Cook without stirring for 3–4 minutes, then stir and continue until they’re well browned and have released most of their moisture, about 8–10 minutes.
Add aromatics: Stir in chopped onion and cook until translucent, 3–4 minutes. Add minced garlic and thyme; cook 30–60 seconds until fragrant.
Make a light roux: Sprinkle flour over the mixture and stir for 1 minute.
This helps thicken the soup later.
Deglaze: Pour in the white wine (if using). Scrape up the browned bits from the bottom. Let it reduce by about half, 1–2 minutes.
Add broth and simmer: Pour in the broth and add the bay leaf.
Bring to a gentle simmer and cook uncovered for 12–15 minutes. Taste and season with salt and pepper.
Blend for creaminess: Remove the bay leaf. Use an immersion blender to blend about half the soup directly in the pot, leaving some chunks for texture.
If using a countertop blender, carefully blend 2–3 cups, then return it to the pot.
Add the cream: Lower the heat and stir in the heavy cream. Simmer gently for 2–3 minutes. Don’t let it boil hard.
Finish and serve: Adjust seasoning with more salt and pepper.
Ladle into bowls and garnish with chopped parsley or chives. Serve with warm bread.