Preheat the oven to 200C/400F.
Add the broccoli and onion to a baking dish with a good drizzle of oil and a hefty pinch of salt and pepper. Use your hands to combine, then roast in the oven for 15-20mins, or until the broccoli is lightly charred and fork tender. Give it a mix halfway. You can leave this to sit whilst you make the sauce.
Place the pasta in salted boiling water and cook until al dente. Pasta should be a touch hard still, if it's fully cooked it'll come out sloppy when baked. Drain when done.
Meanwhile, melt the butter in a large deep pan over medium heat then fry the garlic for 30 seconds or so. Stir in the flour to form a roux, then gradually add in milk, whisking as you go to avoid lumps. Whisk in veg stock then simmer for a few mins, or until the sauce begins to thicken. You should be able to run your finger across the back of the wooden spoon and have it leave a path clear.
Stir in the mustard, nutmeg and a good pinch of salt and pepper, then add in the broccoli/onion. Stir in the cheese until it melts then stir in the drained pasta. Pour everything back into the baking dish and level off with a wooden spoon.
Top with breadcrumbs and a generous seasoning of salt and pepper, then liberally spray with oil. Bake in the oven at 200C/400F for 20mins, or until golden and bubbly.