Preheat an oven to 350 degrees F.
In a bowl, toss the bread cubes with the oil, garlic, oregano, basil, sage, red pepper flakes, salt, and pepper.
Spread the cubes evenly on a baking sheet, and bake for 8 minutes.
Remove the pan from the oven, sprinkle over the parmesan cheese, and bake for another 5-7 minutes, or until the croutons are golden brown and crispy. Taste and add additional salt and pepper, if needed.
For the soup:
Heat the butter in a large saucepan over medium heat. Add the onion, garlic, bay leaves, and thyme leaves, and cook for 5 minutes, or until the onion is translucent and tender. Add the mushrooms and cook, stirring often, for another five minutes, or until they begin to soften and give off their liquid. If desired, remove ¼ cup of the mushrooms, to use as garnish.
Add the sherry (or wine), and simmer until it reduces by half. Add the broth, and bring it to a boil. Reduce the heat to low, and simmer the soup, uncovered for 6-8 minutes, or until the mushrooms are completely tender.
Turn off the heat, remove the bay leaves, and allow the soup to cool slightly, for ten minutes, before you puree it. When the soup has cooled, puree it in a food processor or blender, 1/3 at a time, until the mushrooms are in small pieces, but not completely pureed.
Return the soup to the pan and bring it to a boil over medium heat. Whisk in the cream and parmesan cheese, and heat it through. Season to taste with salt and pepper. Ladle the soup into bowls, and garnish with reserved mushrooms, croutons, parsley, and roasted red peppers (if using).