Preheat the oven to 350°F and grease a 9×13-inch baking dish.
Cook the macaroni according to the package directions. Drain and set aside.
Melt the butter in a large saucepan over medium heat.
Whisk in the flour and cook for 1–2 minutes, until lightly browned.
Gradually whisk in the milk and heavy cream, stirring constantly until the mixture thickens.
Stir in the onion powder, garlic powder, salt, and pepper.
Add the cheddar and Gruyere cheese, stirring until melted and smooth.
Stir the cooked macaroni into the cheese sauce, then spread the mixture evenly in the prepared baking dish.
In a small bowl, combine the panko breadcrumbs, melted butter, and Parmesan cheese. Sprinkle evenly over the pasta.
Bake for 20–25 minutes, until bubbly and golden brown.
Let rest for a few minutes and serve warm.
Video
Notes
I recommend shredding your own cheese for the best results instead of buying pre-shredded. You can use a 3 or 4 quart baking dish instead of the 9X13 baking dish. Refrigerate the leftovers in an airtight container for up to 5 days.