Preheat the oven to gas 6/400°F/200°C/180°C fan. Place a large pan of water on a high heat, add some salt and bring to the boil. While waiting for the water to heat, prepare the cauliflower.
Remove the leaves then cut the cauliflower into medium sized pieces and place in a colander. The stem is edible so no need to cut it off, only if you want to. Rinse the cauliflower, strain then add to the boiling water and boil for 2 - 3 minutes. Strain the cauliflower and set aside in a large bowl.
Add the cornflour to a cup then add 4 tablespoons of milk from the total milk amount and mix until smooth. Set aside for a minute.
Place a saucepan on a low to medium heat then add the vegetable oil and add in the chopped onions. Cook until soft then add in the butter and allow to melt. Pour the rest of the milk into the pan then pour in the cornflour mixture and continue to mix until the sauce thickens.
Mix in the single cream then mix in the salt, black pepper, Dijon mustard and half the cheese. Once the cheese has melted and the sauce has thickened, turn off the heat.
Add the cauliflower to the pot with the cheese sauce and mix to ensure all the cauliflower gets coated with the cheese sauce. Transfer the cauliflower cheese to a 8 x 8 inch baking dish and top with the rest of the cheese.
Bake for 35 – 40 minutes or until golden brown in colour then remove from the oven and allow to stand for 10 minutes before serving.