Heat the oven and prep the dish. Preheat to 375°F (190°C). Lightly grease a 9x13-inch baking dish with olive oil or cooking spray.
Cook the pasta. Bring a large pot of salted water to a boil.
Add macaroni and cook until just shy of al dente (usually 1–2 minutes less than the package time). Drain and set aside.
Make the roux. In a large saucepan, melt 4 tablespoons butter over medium heat. Whisk in flour and cook, whisking constantly, for 1–2 minutes until it smells toasty and turns pale golden.
Don’t let it brown.
Add the dairy. Slowly whisk in milk, then cream. Keep whisking to avoid lumps. Simmer gently for 4–6 minutes until the sauce thickens enough to coat the back of a spoon.
Season the sauce. Stir in mustard, garlic powder, paprika, 1 teaspoon salt, and 1/2 teaspoon pepper.
Taste and adjust—this is your chance to lock in flavor.
Add the cheese. Remove the pan from heat. Stir in cheddar and Gruyère/Jack, a handful at a time, until melted and smooth. If the sauce seems too thick, splash in a bit more milk.
Combine pasta and sauce. Add the drained macaroni to the cheese sauce and fold gently to coat every piece.
Make the topping. Melt the remaining 2 tablespoons butter.
Mix with breadcrumbs and Parmesan until evenly moistened.
Assemble and bake. Spread the mac and cheese into the prepared dish. Sprinkle the breadcrumb topping evenly over the top. Bake for 20–25 minutes, until bubbling around the edges and the top is golden.
Rest and serve. Let it sit for 5–10 minutes so the sauce sets slightly.
Serve warm.