In a large pot, melt 2 tablespoons of butter over medium heat. Add the chopped onion and cook for 3-4 minutes until it becomes soft and translucent. Add the minced garlic and cook for another minute, stirring constantly to avoid burning.
Add the sliced mushrooms to the pot and cook for 8 t0 10 minutes, stirring occasionally, until they release their moisture and start to brown. If desired, set aside a few cooked mushroom slices for garnishing the soup later.
Stir in the chicken stock, thyme, garlic powder, onion powder, red pepper flakes, bouillon cube, salt, and pepper to taste and leave to simmer for 5 minutes.
While the soup is simmering, prepare the roux. In a medium saucepan, melt the remaining 2 tablespoons of butter over low heat. Add the flour and whisk continuously for 2-3 minutes, until the mixture becomes smooth and light golden in color.
Gradually pour the heavy cream into the roux, whisking constantly to ensure a smooth consistency. Cook for another 2-3 minutes, stirring constantly, until the mixture thickens.
Pour the cream mixture into the simmering soup, stirring continuously to combine.
Turn off the heat and use an immersion blender to blend the mushroom until silky smooth. If you want some texture, remove some mushrooms before blending and add them back after blending.
Allow the soup to simmer for an additional 10 minutes, stirring occasionally, until it reaches your desired thickness. Taste and adjust the seasoning with salt and black pepper as needed.
Serve the soup hot, garnished with chopped parsley and reserved mushroom slices, if desired