This is calibrated for 1lb of pasta, will fill a 13×9 dish. Get:
1 lb pasta — I like cavatappi, or Campanelle
8 Oz Gruyère (shredded)
8 Oz shredded cheddar
2 Tbs flour
4 Tbs butter
2 cup half and half
1 onion (diced)
1 bouillon cube (or equivalent)
Boil the pasta (in salted water!)
Sauté the diced onion with 2 tbs butter on low-medium until it begins to caramelize (~20 minutes, but if you have the time just go whole hog to caramelized, like 40 min). Remove from heat.
Melt the rest of the butter on medium heat. Add the flour and cook until fragrant, a minute or so.
Add in the half and half slowly, reducing until thick each time, while whisking to keep smooth. (Don’t go nuts thickening — it’ll congeal further after baking and cooling.) Add in your bouillon cube and toss back in the onion.
Add in all your shredded cheese except a large handful of cheddar. Stir until melted
Drain cooked pasta and toss it in, mix thoroughly and transfer to baking dish.
Sprinkle the remaining cheddar on top.
Bake at 350 for about 20 minutes, until you get that nice browned surface.
Done
Edit: I fully endorse experimenting with variations people lay out below. Can mix and match a ton. Plenty of great ideas. Smoked paprika, gouda and other cheeses, hot sauce, mustard powder, dried and ground porcini, garlic powder, onion powder, truffle oil, bell pepper… you can do a ton of variation from this, it’s a base recipe to experiment off of. Easy to adjust to taste before putting in the oven.