Cut the cauliflower into large chunks, reserving some of the smaller leaves.
Preheat the oven to 200 degrees. Spread the cauliflower florets and leaves in a single layer on a baking tray lined with parchment paper. Drizzle with olive oil, salt and pepper and roast for 30 minutes.
Melt the butter in a large frying pan and add the two finely chopped shallots. Fry gently until soft, about 5 minutes, then stir in the flour. Cook for a further minute. Whisk in the milk until the mixture is smooth and the milk is fully incorporated. Stir in the mustard and cheddar, and season to taste.
For the topping, heat 1 tsp of olive oil in a small frying pan on a medium heat and fry the two finely sliced shallots until golden and caramelised. Let cool slightly then mix with the breadcrumbs, fresh thyme leaves, lemon zest, parmesan, seasoning and 1 tsp of olive oil.
When the cauliflower is done, add it to a baking dish or cast-iron pan. Pour the cheese sauce over it. Sprinkle with the shallot breadcrumb mixture and put back in the oven. Cook until golden and crispy, around 20-25 minutes, and serve.