01 - Preheat oven to 350°F. Grease a baking dish and set aside if preparing the baked version.
02 - Bring a large pot of salted water to a boil. Cook elbow macaroni according to package directions until al dente. Drain well and set aside.
03 - In a saucepan, melt butter over medium heat. Whisk in the flour and cook for 1 minute, stirring constantly to form a smooth roux.
04 - Gradually whisk in the whole milk. Continue to simmer, whisking constantly, until the sauce thickens and coats the back of a spoon, about 4 to 5 minutes.
05 - Reduce heat to low. Stir in both grated cheddar cheeses and Dijon mustard, mixing until completely melted and smooth. Season with salt and black pepper to taste.
06 - Fold the cooked macaroni into the cheese sauce, stirring gently until every piece is evenly coated.
07 - Transfer the mixture to the prepared baking dish. In a small bowl, combine breadcrumbs, melted butter, and grated Parmesan. Sprinkle evenly over the top. Bake for 15 to 20 minutes until the topping is golden and crispy.
08 - Remove from the oven and let rest for 5 minutes. Serve hot while the cheese sauce is still creamy.