Preheat the oven to 180°C/350°F/gas 4. Peel the onions and garlic, then pulse until very fine in a food processor. Tip into a large casserole pan on a medium-high heat with 1 tablespoon of olive oil. Trim, wash, pulse and add the leeks. Saving 2 mushrooms for later, pulse the rest and stir into the pan. Cook it all for 15 minutes, stirring regularly, then season to perfection and turn the heat off. Meanwhile, for the sauce, pour 3 tablespoons of oil into a separate pan on a medium heat. Whisk in the flour for 2 minutes, then gradually whisk in the milk. Simmer for 5 minutes, or until thickened, then grate in the cheese and season to perfection.
Pour one third of the sauce into a 25cm x 30cm roasting tray. As soon as the filling is cool enough to work with, push both ends of each pasta tube into it to fill, lining them up in the tray as you go. Pour over the rest of the sauce, then finely slice the reserved mushrooms and use them to decorate the top. Drizzle with 1 tablespoon of oil and bake for 45 minutes, or until golden and cooked through.
You can up the veg count even more with this dish by adding a layer at the bottom of the tray – think wilted spinach, just cooked peas or smashed roasted squash or pumpkin.