Add the butter to a large pot over low heat and cook the onions until well caramelized, about 45 minutes.
Next, stir in the garlic and cook for 1 to 2 minutes or until you smell it.
Pour in the olive oil and then add in the mushrooms and turn the heat to high and sauté for 15-20 minutes or until the mushrooms are cooked down. Stir often.
Deglaze with white wine and cook until it has been absorbed for about 5 minutes. Stir often.
Mix in the flour completely and then pour in the chicken stock and bring the soup to a boil, it should be thick.
Puree the soup using a hand blender or regular blender until smooth.
Finish my stirring in cream, herbs, salt, and pepper.
Make-Ahead: You can make this soup up to 2 days ahead of time.
How to Reheat: Add the desired amount to a small saucepot and heat over low heat until hot.
How to Store: Place covered in the refrigerator for up to 5 days. Cover and freeze for up to 3 months. Thaw in the refrigerator for 1 day before reheating.
When reheating the soup, the cream can sometimes separate. In order to rethicken it, add a small amount of slurry (2 tablespoons of cornstarch whisked with 1 tablespoon of water) and bring to a boil while whisking.
If for some reason you do not have chicken stock, you can use vegetable stock or water.
You can turn this cream of mushroom soup into mushroom soup by simply leaving out the cream at the end.
Caramelizing the onions is one of the most important steps to ensuring this tastes delicious, so do not skip this part.
Sautéing the mushrooms is crucial to bringing out more mushroom flavor, so take the time to do this before deglazing with wine.
I like to use chardonnay, sauvignon blanc, or pinot grigio when cooking with white wine.
If the soup is not thick after you puree it, then stir in a slurry consisting of 1/3 cup of cornstarch whisked with ¼ cup of cold water and bring the soup to a boil to activate.