In a large saucepan, melt the butter over medium heat. Add the chopped onion and minced garlic, and sauté for about 5 minutes or until the onion becomes translucent.
Add the sliced mushrooms to the pan and cook for another 5-7 minutes, or until they have softened and released their moisture.
Pour in the vegetable or chicken stock and bring the mixture to a boil. Reduce the heat to low, cover the saucepan, and let it simmer for 15-20 minutes to allow the flavors to meld.
Use a hand blender or a countertop blender to puree the soup until it's smooth and creamy. Be careful when blending hot liquids, and consider allowing the soup to cool slightly before blending if using a countertop blender.
Return the pureed soup to the saucepan and place it back on the stove over low heat. Stir in the double cream, and season with salt and pepper to taste. Simmer for another 5 minutes, stirring occasionally.
Once the soup is heated through and well combined, remove it from the heat.
Ladle the mushroom soup into bowls, garnish with fresh parsley if desired, and serve hot.