Heat the olive oil in a large soup pot or dutch oven over medium heat. Add the garlic and shallots and cook until fragrant, about 2-3 minutes. Add the mushrooms and season with salt and pepper. Cook the mushrooms, stirring occasionally until they are browned and caramelized, about 7-8 minutes.
Reduce heat to low and add the thyme and sage leaves, cook for 2-3 minutes.
Remove 1 1/2 cups of mushrooms for topping and set aside (optional)
Transfer the mushrooms to a blender and add the chicken stock and lemon juice. Blend until creamy. Set aside In the dutch oven, add the butter and melt over medium heat. Add the flour and cook together, stirring constantly for 2 minutes.
Whisk in the heavy cream. Stir and heat together until soup starts to thicken, about 5 minutes.
Stir in the blended chicken stock and mushrooms and allow to simmer on low for 5-10 minutes.
Meanwhile make the parmesan toast. Preheat the oven to 425 degrees F.
Melt the butter and stir in the herbs. Using a pastry brush, brush the butter mixture onto the slices of bread. Lay the slices of bread on a baking sheet and sprinkle with parmesan cheese. Bake for 10-15 minutes or until toasted. Serve mushroom immediately with parmesan herb toast and mushrooms (if you saved some) and sprinkle with parmesan cheese. After cooling, keep the soup in an airtight container for 4 days