Cover porcini mushrooms with just enough hot boiling water and set aside for 15 minutes. Remove the porcini mushrooms and roughly chopped them up. Reserve the mushroom water.
Heat butter and oil over medium heat in a large pot. Add in onion and cook until onion is soft and translucent but not browned.
Add in two handfuls of mushrooms and cook, stirring occasionally, until mushrooms have shrunk in size. Add in another two handfuls of mushrooms. Repeat until all mushrooms have been added in.
Add in a pinch of salt, garlic, thyme and some freshly ground black pepper. Continue cooking the mushrooms, stirring frequently. As you cook, the mushrooms will release water. Cook, stirring occasionally, until the mushroom water has evaporated and the mushrooms are of a rich, golden brown colour. This will take about 20 to 30 minutes.
Add in flour and cook for 1 minute to get rid of any raw flour taste.
Add in the vegetable stock and reserved mushroom water. Turn the heat up and bring to a boil. Turn the heat down to a simmer, cover the pot with a lid, and simmer for 1 hour.
Remove the pot of soup from heat. Scoop out 1/3 of the soup and blend the rest. Stir back in the unblended soup.
Soup can be made ahead until this point.
When ready to serve, bring the soup back to a simmer then stir in 1/2 to 3/4 cup heavy cream (try not to use light cream as it won't be thick). Don't bring the soup to a rolling boil. Season with salt and freshly ground black pepper to taste and serve immediately.