Heat the butter and olive oil in a large Dutch oven or heavy-bottomed pot over medium-high heat.
Add the chopped onion and sauté for 4-5 minutes until softened. Stir in the sliced mushrooms and fresh thyme.
Cook the mushrooms undisturbed for a few minutes to let them brown, then stir occasionally until they have released all their moisture and turn a deep golden brown (about 8-10 minutes).
Stir in the minced garlic and cook for 1 minute until highly fragrant.
Sprinkle the flour over the mushroom mixture. Stir constantly for 1-2 minutes to cook out the raw flour taste and coat the vegetables evenly.
Gradually pour in the broth, whisking continuously to prevent any flour lumps from forming. Season with salt and black pepper.
Bring the soup to a gentle boil, then reduce the heat to low, cover, and let it simmer for 15 minutes to allow the earthy flavors to meld.
For a velvety texture, use an immersion blender to puree about half of the soup directly in the pot, leaving plenty of mushroom chunks for a satisfying bite.
Remove from the heat and stir in the heavy cream. Taste and adjust the seasoning if necessary. Serve hot, garnished with a few reserved sautéed mushroom slices and fresh thyme!