Bring 4 quarts of water and 1 tablespoon salt to a rolling boil. Add macaroni and cook until just al dente, about 6 minutes. Drain well. Do not overcook and do not rinse macaroni.
Return pot to stovetop. Over medium heat, melt 1/4 cup butter until foaming. Whisk in flour and cook until bubbling but not browned, about 1 minute. Whisk in milk and bring to boil.
Remove from heat and stir in cheeses until melted. Season to taste with salt and pepper (I like 1 teaspoon salt and 1/2 teaspoon pepper). Do not skip this step or your sauce may be bland.
Fold in macaroni and stir until uniformly combined. Pour into a 2 1/2 quart or larger casserole dish. Cool, then cover and refrigerate up to 3 days in advance.
To bake the mac and cheese:
Remove casserole dish from the refrigerator and let stand at room temperature at least 30 minutes or up to 1 hour before baking. Preheat oven to 350 degrees.
In a medium microwave-safe bowl, melt 2 tablespoons butter and garlic. Stir in breadcrumbs until evenly coated. Pour breadcrumbs over macaroni.
Bake until sauce is bubbling and breadcrumbs have browned, 30 to 40 minutes. Let stand 10 minutes before serving with hot sauce.
Notes
Macaroni: Any small pasta such as rotini, penne, farfalle, or cavatappi will work.
Cheese: I like a mixture of shredded cheddar and Gruyère (or other alpine-style) cheeses, but you can use anything else that melts well such as Monterey Jack. White sharp cheddar has great flavor, too.
Yield: This Baked Mac and Cheese makes 8 servings, 1 cup each.
Storage: Store leftovers covered in the refrigerator for up to 4 days.