For the Mac and Cheese:
Cook the Pasta: Preheat your oven to 350°F (175°C). Bring a large pot of salted water to a boil. Add the elbow macaroni and cook until just al dente, according to package instructions. Drain the pasta and set aside.
Make the Cheese Sauce: In a medium saucepan, melt the butter over medium heat. Once melted, add the flour and whisk continuously for about 2 minutes until the mixture is golden and bubbly. Gradually add the milk and heavy cream, whisking constantly to prevent lumps from forming. Continue to cook until the mixture thickens, about 3-5 minutes.
Add the Cheese: Remove the saucepan from the heat and stir in the shredded cheddar and mozzarella cheeses until fully melted and smooth. Add the salt, black pepper, paprika, garlic powder, and onion powder, stirring to combine.
Combine Pasta and Sauce: In a large mixing bowl, combine the cooked macaroni and the cheese sauce, stirring until the pasta is evenly coated. Pour the mixture into a 9x13 inch baking dish, spreading it out in an even layer.
For the Topping:
Prepare the Breadcrumb Topping: In a small bowl, mix the panko breadcrumbs, melted butter, and grated Parmesan cheese until well combined.
Top the Mac and Cheese: Sprinkle the breadcrumb mixture evenly over the top of the mac and cheese in the baking dish.
Bake the Dish: Place the baking dish in the preheated oven and bake for 25-30 minutes, or until the top is golden brown and the sauce is bubbly. For an extra crispy topping, you can broil the dish for an additional 2-3 minutes, keeping a close eye on it to prevent burning.
Serve and Enjoy: Remove the mac and cheese from the oven and let it sit for 5 minutes before serving. This allows the sauce to set slightly and makes it easier to scoop. Serve hot, and enjoy the ultimate comfort food experience!