Strip the leaves and remove stems from the cauliflower and chop both into 2cm pieces. Chop the florets into bite-sized pieces and set aside.
Bring a large saucepan of salted water to the boil.
Meanwhile, melt the butter and oil in a frying pan over medium heat. Add the leaves and stems along with a pinch of salt, then increase the heat slightly and saute for 15 minutes or until tender.
When the water comes to the boil, add the cauliflower florets to the saucepan and simmer for 2 minutes. Drain and set aside.
Taste and cook the leaves and stems for a little longer if they are still tough. Set aside.
Preheat the oven to 180°C.
For the cheese sauce, heat the milk to just below boiling point. In another saucepan, melt butter and flour over low heat and stir to make a roux. Do not let it brown.
Add the warm milk, half a cup (125ml) at a time. Stir constantly with a wooden spoon or whisk until you have a thick white sauce.
Add the cheese and season with salt and pepper to taste. Stir until melted.
Spread the cauliflower leaves and stems in the base of a small baking dish and top with the florets. Pour the cheese sauce all over the cauliflower.
Bake in the oven for 30 minutes. Serve hot.
