This is an excellent Macaroni and Cheese recipee from Fine Cooking. I've made it multiple times and cannot complain, the best I've had. It's even better the next day. I like to freeze smaller portions, I just don't bake it first. It is a bit of work but worth it.
Some variations are:
Pancetta or bacon: Sauté 1/4 lb. pancetta or bacon (finely chopped if using pancetta) until crisp and golden. Drain on paper towels, leaving the fat in the pan. Crumble the bacon. Substitute the fat for part of the butter so that you have about 6 Tbs. total, and proceed with the recipe. Add the pancetta or bacon to the sauce along with the pasta.
Ham: Brown 2 cups of small-diced smoked ham in the butter over medium-high heat. Drain on paper towels and proceed with the recipe, reducing the heat to medium to cook the onion. Add the ham to the sauce along with the pasta.
Hot chiles: Cook 2 Tbs. minced fresh serrano chiles along with the onions. Or add 1/4 to 1/2 tsp. crushed red pepper flakes with the mustard.