Heat olive oil and butter in a large pot over medium heat. Sauté onion and garlic until translucent.
Add mushrooms and cook until softened and golden, about 8-10 minutes.
Sprinkle flour over the mushrooms, stir well, and cook for 1 minute.
Gradually add the stock, stirring constantly to avoid lumps. Bring to a simmer and cook for 15 minutes.
Blend the soup partially or fully, as desired. Stir in cream and season with salt and pepper.
Preheat the broiler. Divide soup into oven-safe bowls, top with Parmesan, and broil until golden.
Garnish with thyme and serve hot.