Preheat the oven to 200C / F and was and trim the cauliflower of the outer leaves. Cut it into medium-sized pieces including the stalk. Toss in olive oil to lightly coat, season with salt and pepper and spread out on a large baking tray. Scatter over the thyme stalks if you are using these. Roast with for about 30 minutes until just cooked through and starting to take on colour.
While the cauliflower is roasting, heat the butter in a large pot and sweat the onions, leek and celery for about 5 minutes until soft, add the garlic and bay and cook for a further minute. If the cauliflower is not yet ready, turn off the heat.
When the cauliflower is roasted, remove from the oven and take out a few of the smaller pieces if you want to use these to top the soup (optional). Keep these warm in the turned-off oven. Add the rest of the roasted cauliflower to the pot with the stock and milk and bring to the boil. Then turn this down to low heat and allow this to simmer for 25 minutes.
When the soup is cooked, remove the bay leaves and either blend with a metal stick blender (heat-proof) straight away, or allow to cool slightly and process in a food processor until smooth. Reheat if necessary. Add the cream or additional milk if you want to thin it down. Dish up and stir through the grated cheese into each bowl. Top with the toppings of your choice and additional cheese.