Melt the butter in a 4-quart pot over medium-high heat. Add the olive oil, and swirl with the butter. When the butter has melted, add the onions, salt, and pepper. Let the onions sweat, stirring every 30 seconds, until translucent, 3 or 4 minutes. You don’t want the onions to brown.
Pull the leaves off the cauliflower, quarter the head and stem, and then cut each part once more, resulting in 8 pieces, roughly the same size. Add these to the pot, and then add the vegetable stock.
Bring the soup to a boil, then turn the heat down to medium and let it simmer, uncovered, for 20 minutes. Ensure that all the cauliflower is submerged. If it isn’t, rearrange the pieces or cut them slightly smaller to submerge them. Check the cauliflower for doneness by piercing it with a knife. If the knife goes in without resistance, the soup is ready for the next step.
Using an immersion blender or a standing blender, blend the soup until completely smooth. The soup will be delicious regardless of how smooth you get it, but for a luxurious, velvety texture, it should be very well blended.
Pour the soup back into the pot and stir in the cream until combined. Taste and add more salt and pepper if needed. Serve hot, garnished with black pepper and/or parsley, if desired.
