Melt butter in a pan over medium heat. Add mushrooms and saute until most of the juices evaporate, for about 15 minutes. Add onions and fry till translucent.
Add flour and cook for about 1-2 minutes to remove raw flour taste. Add chicken stock and garlic cloves and boil for 5-10 minutes. Turn off the heat.
Use a blender or immersion blender to puree the mixture until smooth and thick.
(Return soup to pot if needed) Turn the heat back on, add heavy cream and mix evenly. Season with salt and pepper, and serve.