For conventional oven cooking, preheat oven to 350°F/180°C. For combi steam oven cooking, preheat oven to 400°F/200°C, combination steam setting. If your oven has variable steam, use 50%. If not, don’t worry! Just set to combination or convection steam and the oven will figure out the steam level for you.
Fill a large pot of water for pasta and put it on the stove to boil. Once it comes to the boil, salt well and add the pasta. Cook pasta for 1 minute less than the packet directions (you want it to be slightly undercooked as it’ll finish cooking in the oven later), then drain and set aside.
While the pasta gets going, heat another large pot over medium heat. Add the oil and onion to the pan and cook, stirring, until the onions have softened, about 5 minutes.Add the butter to the pan and let it melt. Put the flour in and stir to form a paste, then let it bubble, stirring constantly, for a minute or two to let the flour cook.
Add the milk. Start by adding about a cup, stirring vigorously as you pour it into the pan so it blends with the flour and butter. If it gets a bit lumpy at this stage, don’t panic. Just grab a whisk, add a touch more milk and whisk like crazy to beat the lumps out. The onions mean it won’t be completely smooth but if the flour is incorporated properly you won’t see any large lumps in there. Once you have a mostly smooth, fairly thick mixture, add the rest of the milk and stir or whisk until it’s incorporated.
Turn up the heat and stir constantly, scraping the bottom of the pot as you go, until the mixture boils and thickens. This will take 5-10 minutes but don’t concentrate on the time, rather the thickness of the mixture. The sauce should coat the back of a spoon, something like the thickness of double or thickened cream. Don’t let it get too thick or it’ll be gloopy when you eat it rather than silky. If it does seem too thick, add a touch more milk at the end of cooking to loosen.
Remove the sauce from heat and let it sit for a minute or two, then stir through the parmesan cheese until it melts. Add salt and pepper to taste.Mix the pasta through the sauce and pour everything into a baking dish. Sprinkle with the mozzarella and Swiss cheeses then scatter with breadcrumbs.