Preheat your oven to 200°C/Fan 180°C/Gas 6. Fill a large pan with water. Sprinkle a generous pinch of salt into the pan and bring to the boil.
Peel the onion and thinly slice it. Peel the garlic cloves and crush or finely grate them. Set the onion and garlic to one side. Grate the cheddar. Drain the mozzarella and tear into small pieces. Scoop both types of cheese into a bowl.
Pour 1 tbsp oil into a pan and warm over a medium heat. Scatter in the chopped onion and garlic. Add a pinch of salt and pepper and fry for 5 mins, stirring occasionally, till softened.
While the onion is cooking, trim the base of the cauliflower. Pull away the leaves (keep them). Cut the cauliflower into 6 large wedges.
The water in the pan should now be boiling. Tip in the pasta and the cauliflower wedges and leaves. Simmer for 8 mins, then drain well.
Sprinkle the flour into the onion pan and stir well. Continue to fry for 2 mins. Whisk in 1 tbsp mustard and a quarter of the milk, scraping the bottom of the pan, till the onions thicken into a paste. Slowly pour in the rest of the milk, continuously whisking, till combined. Bring to a simmer, then stir in the cheddar and mozzarella.
Tip the cooked, drained pasta and cauliflower into a large ovenproof pan or a casserole dish. Pour over the cheese sauce and give everything a stir to coat. Sprinkle over a pinch of black pepper. Slide into the oven and bake for 20 mins, till golden brown at the edges.
While the cauliflower mac and cheese is baking, trim any woody cores off the kale. Roughly shred the leaves into small pieces. Pour 1 tbsp oil into a frying pan and warm to a medium-high heat. Slide in the kale. Add 3 tbsp water and a little salt and pepper. Stir fry for 4-5 mins, till tender. Squeeze in the juice from the lemon and stir well.
Scoop big spoonfuls of the cauliflower mac and cheese onto a couple of warm plates, and serve with the kale on the side.