Preheat your oven to 350°F (175°C). Lightly grease a 9x13-inch baking dish. Cook the macaroni following the package instructions until al dente. Drain and set aside.
In a large saucepan, melt ½ stick (4 tablespoons) of butter over medium heat.
Once melted, whisk in the flour and cook for 1–2 minutes until bubbly and lightly golden.
Slowly whisk in the milk and whipping cream, making sure there are no lumps. Keep cooking and stirring until it thickens, about 5–7 minutes.
Stir in the smoked paprika, salt, and pepper.
Take the saucepan off the heat and add the shredded cheddar and Gruyère cheeses. Stir until melted and smooth. Taste and adjust the salt and pepper if needed.
Mix the cooked macaroni into the cheese sauce until everything is combined.
Pour the mixture into the prepared baking dish.
Melt the remaining ½ stick (4 tablespoons) of butter in a small saucepan. Add the panko breadcrumbs and mix until coated. Combine this with the grated Parmesan in a small bowl.
Sprinkle the topping evenly over the macaroni and cheese.
Bake for 20–25 minutes until the top is golden and the sauce bubbles at the edges. For a crunchier top, broil 2–3 minutes but watch carefully to avoid burning.
Take out of the oven and let it rest a few minutes before serving.