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 saucepan over medium heat, melt 2 tablespoons of butter. Sprinkle in the flour and whisk continuously for 1 to 2 minutes until the mixture turns a pale golden color and develops a nutty aroma.
04 - Gradually pour in the whole milk while whisking vigorously to prevent lumps from forming. Continue cooking and stirring for 3 to 5 minutes until the sauce 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 - Add the drained macaroni to the cheese sauce and stir 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 with the remaining grated cheddar and melted butter if using. Sprinkle the mixture evenly over the top of the macaroni.
08 - Bake for 15 to 20 minutes until the topping is golden brown and the sauce is bubbling around the edges.
09 - Remove from the oven and let stand for 5 minutes before serving to allow the sauce to set slightly.