Prep the mushrooms well. Wipe mushrooms with a damp towel or brush. Avoid soaking. Slice them evenly so they cook at the same pace.
Brown in batches. Heat a large pot over medium-high.
Add 1 tablespoon oil and half the mushrooms. Let them brown, stirring occasionally, 6–8 minutes. Season lightly with salt.
Transfer to a bowl and repeat with remaining mushrooms using 1 tablespoon butter.
Sauté the aromatics. Reduce heat to medium. Add remaining butter, then the onion. Cook until soft and lightly golden, 5–7 minutes.
Stir in garlic and thyme; cook 30 seconds until fragrant.
Build the flavor base. Add soy sauce and the browned mushrooms back to the pot. Stir to coat. If using flour, sprinkle it over and stir for 1 minute to cook it off.
Deglaze with wine. Pour in the white wine and scrape up any browned bits.
Let it simmer for 2–3 minutes to reduce by half.
Add broth and simmer. Pour in the broth. Bring to a gentle simmer and cook 12–15 minutes. Taste and adjust salt and pepper.
Blend to your preferred texture. For a rustic soup, blend half with an immersion blender.
For silky-smooth, blend all of it carefully in batches. Return to the pot.
Finish with cream. Stir in the cream (or coconut milk). Simmer 2 minutes.
Add a small squeeze of lemon juice to brighten, if you like. Taste again and adjust seasoning.
Serve. Ladle into bowls and top with chopped parsley or chives. A drizzle of olive oil or a few sautéed mushroom slices on top looks great too.