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. Cook macaroni until just al dente, about 1 to 2 minutes less than the package directions. Drain and set aside.
03 - In a large saucepan over medium heat, melt 4 tablespoons unsalted butter. Whisk in flour and cook, stirring constantly, for 1 to 2 minutes until lightly golden.
04 - Gradually whisk in whole milk and heavy cream. Continue cooking and whisking until the mixture thickens and begins to bubble, about 5 to 7 minutes.
05 - Remove from heat. Stir in shredded cheddar, Gruyère, Dijon mustard, garlic powder, onion powder, salt, and black pepper until the cheese melts and the sauce is smooth.
06 - Add the drained macaroni to the sauce and stir until fully coated. Transfer the mixture into the prepared baking dish.
07 - Mix fresh breadcrumbs, melted butter, grated Parmesan, and paprika (if using) in a bowl. Evenly sprinkle the mixture over the macaroni.
08 - Bake for 25 to 30 minutes until the top is golden brown and the cheese sauce is bubbling.
09 - Allow to cool for 5 to 10 minutes before serving.