Preheat oven for 220°C. Line an oven tray with baking paper.
Toss butternut, bacon and onion with sage, thyme and olive oil on a lined tray. Spread out in a single layer, season with salt and pepper and roast for about 20 minutes, tossing once during cooking, until butternut is soft and slightly caramelised.
For the sauce, heat olive oil in a medium saucepan over medium heat. Cook onion and garlic, with a pinch of salt, for about 2 minutes until soft, but not coloured. Add cauliflower, milk and stock. Cover partially and simmer for about 15 minutes or until cauliflower is soft.
Meanwhile, in a separate pot, cook macaroni in boiling salted water until al dente (just cooked).
Stir Parmesan into cauliflower mixture, then use a blender or stick blender to puree cauliflower and its cooking liquid together until silky smooth. Add a little more milk is you think the sauce needs thinning out. Stir in parsley and season to taste with salt and pepper.
Switch oven to grill. Drain pasta, tip back into the pot and stir through spinach/silverbeet until wilted. Gently stir in roast butternut mixture. Spoon into 4 individual ramekins or one large baking dish. Spoon over cauliflower cheese sauce.
Mix Parmesan and parsley and sprinkle over the top, then grill for 5-10 minutes until golden.