In a gallon (~3.8 L) of salted boiling water, cook macaroni to al dente. Strain into a colander and rinse with cold water.
While pasta is cooking, in a heavy saucepan, melt 2 tbsp butter over medium heat. Once bubbling ceases, whisk in flour and cook, whisking continuously, until blonde.
Add remaining ingredients except butter. Once cheese is melted and sauce is smooth, add 1 tbsp butter, whisking continuously until melted. Repeat until all butter has been used.
Gently fold in macaroni and serve warm.
