Grate all your cheese. This is the secret to this recipe. DO NOT buy the pre-shredded stuff. It’s not good and it’s not good for you. Take the time to shred the cheese. It will make all the difference in the world.
Boil your pasta until it’s al dente. Drain it. If you cook it all the way, it will be too mushy when you add it to the sauce.
In a medium sauce pan, melt your butter on medium. Once its melted, add your flour and whisk it in (this is called making a roux). Once the flour is incorporated and has cooked out a bit (about 2 minutes), slowly start to pour in your milk. Whisk in milk, a little at a time and making sure to stir well so that no lumps form. Bring the mixture to the boil, stirring constantly, so that the mixture thickens and becomes glossy.
Once the milk is thick and glossy, remove from the heat and start to add in your cheese a little at a time and keep whisking. Once all your cheese is incorporated, add your drained pasta.