01 - Preheat the oven to 400°F. Lightly butter a medium baking dish and set aside.
02 - Bring a large pot of generously salted water to a rolling boil. Add the macaroni and cook according to package directions until al dente. Drain through a colander and set aside.
03 - In a medium saucepan over medium heat, melt 2 tablespoons of butter. Sprinkle in the flour and whisk continuously for 1 to 2 minutes until a smooth, lightly golden roux forms.
04 - Slowly pour in the whole milk while whisking vigorously to prevent lumps from forming. Continue cooking and stirring for 3 to 5 minutes until the béchamel thickens enough to coat the back of a spoon.
05 - Remove the saucepan from heat. Add the grated cheddar, Gruyère, and Dijon mustard, stirring until the cheeses are completely melted and the sauce is smooth. Season with salt and black pepper to taste.
06 - Add the drained macaroni to the cheese sauce and fold gently until every piece is evenly coated. Transfer the mixture into the prepared baking dish, spreading it into an even layer.
07 - In a small bowl, combine the breadcrumbs, remaining grated cheddar, and melted butter if using. Toss until the crumbs are evenly moistened, then sprinkle the mixture uniformly over the macaroni.
08 - Place the dish in the center of the oven and bake for 15 to 20 minutes, until the topping is crisp and golden brown and the sauce is bubbling at the edges.
09 - Remove from the oven and let the dish rest for 5 minutes to allow the sauce to set slightly before serving.