Heat the butter and oil in a heavy-based pan and sauté the celery, potato, onion and bay leaf gently for a couple of minutes, then add a splash of water, season with salt and pepper, and cover the pan. Sweat for about 15 minutes, adding a splash of water occasionally to keep it moist.
Stir in the cauliflower then the stock, cider, nutmeg and more seasoning. Bring to the boil, then simmer until the cauliflower is completely tender. Leave to cool.
Remove the bay leaf and purée the soup in batches.
Return to the pan, add the cream and cheddar and heat through without boiling, stirring from time to time, until the cheese has melted. Serve with parmesan and parsley (if using) on top.