1 or 2 cloves garlic, minced
1 teaspoon dijon mustard
1/4 teaspoon cayenne pepper
5 tablespoons all-purpose flour
3 cups whole milk (2% works fine)
1 cup chicken broth
12 ounces colby, shredded
6 ounces sharp cheddar, shredded
2 tablespoons hot sauce (more if you like it spicy)
About 2 teaspoons salt
pepper
2 cups panko
¼ cup shredded parmesan
8 to 10 ounces ham cubes, optional
1 pound macaroni pasta, cooked until it’s a minute or two underdone and drained (it cooks that last little bit in the oven)
Melt 6 tablespoon butter in a large (at least 3 quarts) sauce pan on medium heat. Stir in garlic, mustard, and cayenne and saute for about 30 seconds. Whisk in the flour and cook for another 2 minutes until golden; you want to cook out the raw flour flavor, but not burn the butter.
Slowly whisk in the milk and broth, scraping the bottom of the pan to incorporate all of the flour into the sauce. Bring to a simmer and cook about 6 minutes or until thickened and bubbly, whisking often. I usually find that it takes forever to bring all that liquid to a simmer, but that it thickens up pretty quickly after that.
Add the hot sauce and then slowly whisk in all that cheese until it’s all melted in. Season sauce with salt and pepper.
Spread the pasta out in a 9″x13″ baking dish. Add the ham if you’re using it. Pour in the sauce and smooth it out with the back of a spoon. Yeah, it seems like a lot of sauce, but a lot is absorbed while the dish is in the oven. If you are making it ahead of time, stop at this step and it’ll keep covered in the fridge for a few days.
Toss breadcrumbs, parmesan, and a little oil together and then spread the mixture over the top of the pasta.
Bake for 20-25 minutes. Let cool for at least 5 minutes before serving.