Cut the head in small florets. Cook in boiling water for 6 to 8 minutes or until fork tender. Drain and set aside.
Caramelize onions
Cook the onions in 2 Tbsp butter on low heat until deeply brown, but not burnt.
Sprinkle a bit of sugar at the end.
Make the bechamel sauce
Melt remaining butter in the pan. Add flour and cook together for a couple of minutes.
Using a whisk, add milk little by little until you have a creamy sauce (liquid is better than thick as it will cook more in the oven). Season to taste. For super smooth bechamel, pass through a sieve.
Put it all together
Butter the bottom of a casserole dish.
Add the cauliflower followed by the caramelized onions.
Cover with the bechamel sauce.
Cook in the oven at 180°C covered for 30 minutes.
Remove the cover and continue cooking until brown on the top.