Heat the butter and olive oil in a large pot over medium heat. Add the onions and garlic, sauté until soft and translucent.
Add the mushrooms and cook until they release their moisture and become tender, about 10 minutes.
Pour in the broth and bring to a simmer. Let it cook for 10 minutes to allow the flavors to meld.
Add the chopped sage leaves, season with salt and pepper, and cook for another 5 minutes.
Use an immersion blender to blend the soup until smooth (or transfer in batches to a blender).
Stir in the heavy cream, adjust seasoning to taste, and simmer for 2-3 more minutes.
Serve hot, garnished with fresh parsley if desired.