cheddar cheese - 150 grams (block, shredded)
Gouda cheese - 150 grams (block, rind removed, shredded)
Parmesan cheese - 50 grams (freshly grated)
elbow macaroni pasta - 250 grams (uncooked)
salt - 1 tablespoon for pasta water, plus to taste (for pasta water and seasoning)
butter - 4 tablespoons total (for breadcrumb topping and sauce)
garlic cloves - 2 cloves (minced, divided between topping and sauce)
panko breadcrumbs - 100 grams (for crunchy topping)
black pepper - to taste (freshly ground, for seasoning)
paprika - 1/2 teaspoon (for breadcrumb topping)
cayenne pepper - 1/4 teaspoon (for breadcrumb topping)
onion - 1 small (finely chopped)
milk - 500 ml (whole milk, base for sauce)
heavy cream - 100 ml (for sauce finishing)
sodium citrate - 1 teaspoon (emulsifier for creamy cheese sauce)