In a small pan, saute mushrooms and shallots for 5-10 minutes in 3 tablespoons of butter. When shallots are cooked, add garlic and cook until fragrant. Set aside.
In a medium pot over medium to medium-low heat, create a roux by melting butter and adding flour. For more flavor, brown the butter first. Be sure to cook the flour completely but not burn.
Add cream and milk slowly, whisking while adding so as to thicken the mixture.
Add salt, pepper, shallot mixture, and thyme. Reduce to low heat and cook until thickened, while stirring off and on. This will take about 30 minutes.
Add stock 1/2 cup at a time to loosen and create the soup until your desired texture. You may not need the full two cups.