Prepare your vegetables by dicing the mushrooms, celery, leeks, garlic and potatoes (the potatoes should be cut into about 3/4" cubes).
Place a large pot on the stove over medium to low heat.
Add olive oil to the pot. Add in mushrooms.
Cook the mushrooms until they have released all of their liquid and start caramelizing. This is optional, but we like to remove the mushrooms and add them back at the very end so they stay caramelized!
Add your diced celery. Cook for 2-3 minutes. Towards the end of that time, add in the chopped garlic.
Add in potatoes and butter. Cook for 2-3 minutes until the butter has melted and coated the vegetables.
Add in leeks and stir well.
Mix in flour and stir well to coat all the vegetables.
Pour in vegetable or chicken stock a bit at a time, stirring in between so that the flour fully dissolves; If you need to, you can also use water at this stage, it will just have less flavor!
Mix in dried thyme.
Cover until the soup comes to a simmer. Uncover and stir occasionally to make sure nothing sticks to the bottom. Cook for around 30 minutes, until the potatoes are tender! You can always add a little more liquid to get the desired texture.
At this stage, taste the soup and add salt and pepper to taste.
Add in heavy cream and stir well.
If you want to, you can blend the soup with an immersion blender, or in a stand blender. We like to keep it chunky!
Mix in chopped dill and add back in the mushrooms. Stir, then serve and enjoy!