Clean mushrooms with a damp towel and slice 1/4-inch thick. Melt 2 tbsp butter in a Dutch oven over medium-high heat. Sear half the mushrooms undisturbed 3 to 4 minutes until golden, stir and cook 3 to 4 minutes more. Transfer to a plate and repeat with 1 tbsp butter and remaining mushrooms.
Reduce heat to medium. Add remaining 1 tbsp butter, onion, and shallots; cook 5 to 6 minutes until soft. Add garlic and thyme; cook 1 minute until fragrant. Return mushrooms to pot, sprinkle with flour, stir and cook 1 to 2 minutes.
Pour in wine, scraping up browned bits; simmer 3 to 4 minutes until reduced by half. Add broth, bring to a gentle boil, then cover and simmer on low 15 to 20 minutes.
Blend about half the soup with an immersion blender for a creamy base with some texture, or leave chunky for a rustic feel.
Stir in heavy cream and warm gently without boiling. Season with salt and pepper. Optional: swirl in 1 tbsp butter for extra richness. Serve hot.