Make a roux: In a large saucepan, melt butter add all-purpose flour and cook together for 1 minute.
Add 2% milk slowly, stirring constantly to blend in as you add the milk till you obtain a medium thick sauce.
If I want the sauce to be really rich I will add some cream too, but I don't usually.
Add, as desired: sharp Tillamook Cheddar cheese (the sharp cheese gives a lot more flavor per ounce), Mozzarella or Monterey Jack cheese (this adds stringyness), Fresh Parmesan or Grana Padana cheese, Pepper Jack cheese (I don't always have or add this, but I think I had when you ate this) something for a bit of "bite": ie. Frank's hot sauce or Tabasco sauce or cayenne pepper, to taste depending on how hot you want it.
Salt and freshly grated Pepper to taste.
Stir thick, smooth sauce together with the cooked pasta.