Preheat your oven to 375°F and lightly butter a 9x13 inch baking dish or similar size. While the oven heats, wash the asparagus under cold water and trim off the tough woody ends (about 2 inches from the bottom). For even cooking, I like to snap them at their natural breaking point—hold each spear near the bottom and bend gently until it breaks where the tender part begins. Bring a large pot of salted water to a boil and blanch the asparagus for 1 minute to slightly soften it, then drain well and arrange it in a single layer in the prepared baking dish.
In a medium saucepan, melt 3 tablespoons of butter over medium heat. Once melted and foaming, add the flour and stir constantly for about 1 minute to create a smooth paste (called a roux)—this cooks out the raw flour taste and helps thicken the sauce. Slowly whisk in the milk and cream together, stirring frequently to prevent lumps from forming. Continue cooking and stirring until the sauce thickens enough to coat the back of a spoon, which takes about 5-7 minutes.
Remove the sauce from heat and stir in the freshly grated nutmeg, cayenne pepper, and season with salt and pepper to taste. Add the parmesan and freshly shredded gruyere, stirring gently until the cheese is completely melted and the sauce is smooth and creamy. Freshly shredded cheese melts more evenly than pre-shredded varieties, which contain anti-caking agents that can make the sauce grainy—I always take the extra minute to shred it fresh. Pour this béchamel mixture evenly over the asparagus in the baking dish.
Place the gratin in the preheated 375°F oven and bake for 15 minutes. In a small bowl, toss the panko with 2 tablespoons of melted butter until evenly coated—this helps the breadcrumbs brown evenly and develop a golden, crispy crust. Remove the dish from the oven, sprinkle the buttered panko mixture evenly over the top, and return to the oven for another 15 minutes until the topping is golden brown and the sauce is bubbling gently at the edges. Serve immediately while the gratin is hot and the topping is still crispy.