Preheat the oven to 425°F (220°C).
Lightly grease a large rimmed baking sheet. Combine cauliflower, onion and garlic on the baking sheet. Season with a generous amount of salt and pepper. Toss with olive oil until evenly coated in oil.
Arrange in a single layer. Bake for 15 minutes.
Toss the cauliflower through the onions and garlic, then return to the oven and bake for a further 10-15 minutes until the cauliflower is caramelized on the edges and fork-tender.
Transfer cauliflower to a pot. Add stock and herbs. Bring to a simmer over medium heat.
Cook, stirring occasionally for 15 minutes to let the flavours blend.
When cauliflower is soft, remove from the heat and let cool for 5 minutes.
Carefully transfer the soup to a blender, working in batches if necessary, taking care to let the steam escape (cover escaping steam with a kitchen towel).
Alternatively, purée with an immersion blender.
Add the cream and blend until smooth. Taste test and add extra salt and pepper seasoning, if needed, then blend again.*
To serve, top bowls of soup with cooked bacon, shredded cheese and chopped chives or green onion.