Heat the oven and prep the dish. Set your oven to 375°F (190°C). Lightly grease a 9x13-inch baking dish or similar casserole.
Cook the pasta. Bring a large pot of salted water to a boil. Add the macaroni and cook until just shy of al dente—about 1 minute less than the package suggests.
Drain well and set aside.
Make the roux. In a large pot over medium heat, melt the butter. Sprinkle in the flour and whisk constantly for 1–2 minutes. You want it smooth and foamy, not browned.
Add the dairy slowly. Gradually whisk in the milk and cream.
Keep whisking until the mixture is smooth and starts to thicken, 4–6 minutes. It should coat the back of a spoon.
Season the sauce. Stir in dry mustard or Dijon, garlic powder, smoked paprika, a pinch of salt, and a few grinds of black pepper. Taste as you go.
Add the cheese off the heat. Remove the pot from the burner.
Stir in the cheddar and Gruyère/fontina by the handful, whisking until melted and silky. Fold in the Parmesan last. If it seems too thick, splash in a bit more milk.
Combine with pasta. Add the drained macaroni to the sauce and fold gently to coat every piece.
The mixture should be creamy and loose, not stiff.
Make the topping. In a small bowl, toss panko with olive oil or melted butter and a pinch of salt and paprika.
Assemble and bake. Pour the mac and cheese into the baking dish. Sprinkle the breadcrumb topping evenly. Bake 15–20 minutes, until bubbling around the edges and the top is golden.
Rest and serve. Let it sit for 5–10 minutes before scooping.
This helps the sauce set and stay creamy.