Heat the oven to 180°C, fan 160°C, gas 4. Put the onion and broccoli on a lined baking tray, drizzle with the olive oil and lightly season. Put the tray on the top shelf of the oven.
Meanwhile, combine the ingredients for the marinade in a bowl. Add the mushroom pieces and stir to coat. Spread over another lined baking tray and put this on the middle shelf. Cook for a further 15 minutes, or until all the veggies are golden brown. Remove both trays and increase the oven temperature to 220°C, fan 200°C, gas 7.
While the veg are roasting, add the macaroni to a pan of boiling salted water and cook until al dente. Drain and tip into a 20cm x 30cm baking dish.
Meanwhile, warm the plant-based milk in the microwave. Melt the dairy-free spread in a pan over medium heat. Turn the heat right down and add the flour to the pan, stirring until you have a paste. Gradually pour in the warm milk, stirring until you have a thick, creamy sauce. Add the onion granules, garlic granules, mustard, nutritional yeast, dairy-free cheese, salt and pepper. Keep stirring until the sauce thickens to the consistency of custard.
Add the cooked vegetables and sauce to the pasta and mix together so that everything is well covered. Sprinkle the breadcrumbs over the top, season and put the dish in the oven for 5-10 minutes to warm through and crisp up the breadcrumbs before serving with salad leaves, if you like.
