01 - Preheat the oven to 400°F. Grease a medium baking dish with butter 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 saucepan over medium heat, melt 2 tablespoons of butter. Sprinkle in the flour and whisk constantly 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. 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 pepper to taste.
06 - Fold the drained macaroni into the cheese sauce, stirring gently until every piece is evenly coated. Transfer the mixture to 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. Sprinkle the mixture uniformly over the macaroni.
08 - Bake on the center rack for 15 to 20 minutes, until the topping is golden brown and the edges are bubbling.
09 - Remove from the oven and let stand for 5 minutes to allow the sauce to set before serving.