Preheat the oven to 425 degrees F (220 degrees C).
Toss cauliflower, shallots, garlic, and oil in a large bowl; spread in a single layer in a roasting pan or rimmed baking sheet.
Roast in the preheated oven until golden and tender, about 30 minutes.
Cooking
Transfer cauliflower to a large pot. Add broth, water, thyme, and bay leaf; bring to a boil. Cook over medium heat, about 30 minutes. Remove and discard bay leaf.
Purée soup using an immersion blender (or use a regular blender). Stir in cream; season with salt and black pepper. Heat before serving until warmed through; do not boil.