Preheat the oven to 180C (fan oven).
Cook the pasta in salted boiling water for 2 minutes less than the packet states. Once cooked, drain it, and set aside.
To make the sauce, add the butter, flour, and milk straight into a saucepan and cook over a medium heat, whilst whisking continuously, until the butter has melted, and it starts to thicken.
Turn off the heat then stir through the grated cheddar, parmesan, and nutmeg. Taste for seasoning.
In a frying pan, heat some cooking oil over a medium to high heat. Add the onion and bacon and cook for about 5 minutes, until the onion softens, and the bacon starts to turn crispy.
Chuck in the mushrooms and continue to cook until the mushroom softens.
Tip the pasta into an oven proof dish, add the bacon, mushrooms, and onion, along with the chopped parsley, and mix it well.
Pour in the cheese sauce and stir until the pasta is all completely coated.
Scatter over the cheddar cheese and grated parmesan, then bake it for about 20 minutes, or until it is golden and bubbling.
Dish it up and enjoy.