01 - Preheat the oven to 350°F. Grease a 9 x 13-inch baking dish.
02 - Bring a large pot of salted water to a boil. Add macaroni and cook until just al dente, about 1–2 minutes less than package directions. Drain and set aside.
03 - Melt 4 tablespoons butter in a large saucepan over medium heat. Whisk in flour and cook, stirring continuously, for 1–2 minutes until lightly golden.
04 - Gradually whisk in whole milk and heavy cream. Continue to cook, whisking constantly, until the mixture thickens and bubbles, approximately 5–7 minutes.
05 - Remove from heat. Stir in sharp cheddar, Gruyère, Dijon mustard, garlic powder, onion powder, salt, and black pepper until cheese melts and sauce is smooth.
06 - Add cooked macaroni to the cheese sauce, stirring until evenly coated. Transfer mixture to the prepared baking dish.
07 - In a bowl, combine breadcrumbs, melted butter, grated Parmesan, and paprika if using. Sprinkle evenly over the macaroni mixture.
08 - Bake for 25–30 minutes until the topping is golden brown and the sauce bubbles.
09 - Allow to cool for 5–10 minutes before serving.