Preheat the oven to 425°F (220°C).
Toss cauliflower florets with olive oil, spread on a baking sheet, and roast for 25-30 minutes until golden brown.
In a large pot, sauté onion over medium heat until softened, about 5 minutes.
Add garlic and cook for another 1 minute.
Add roasted cauliflower and vegetable broth to the pot. Bring to a boil, then reduce heat and simmer for 10 minutes.
Use an immersion blender to puree the soup until smooth (or transfer to a blender in batches).
Stir in heavy cream and season with salt and pepper.
Simmer for another 5 minutes, then serve hot with herbs if desired.