My husband makes awesome mac & cheese, but he doesn’t use a recipe, and uses whatever cheeses we have on hand, so it’s different every time.
Basically: shred a crap-load of cheese (tonight’s batch includes one 10oz block of Muenster, one 10oz block of Baby Swiss, and ¼ block of extra-sharp white cheddar). Meanwhile, saute ½ a large onion in butter with salt and pepper. Boil the macaroni in a large pot til tender. Drain macaroni, and keep it in the colander for a bit. Put onions, about ¼ to ½ cup of half-and-half or milk, and 2 TBSP of flour in the macaroni pot, bring to boil – whisking constantly. Stir in cheese, stirring constantly until melted. Once cheese has melted, add the cooked macaroni and stir to coat. Put the whole mess in a casserole, and bake, covered, in a 350 degree oven for about 30 to 45 minutes. Uncover, and continue to bake for an additional 15 minutes or so, until nicely browned on top. Deeeelicious!