01 - Preheat oven to 350°F. Lightly grease a 9x13-inch baking dish if preparing the baked version.
02 - Bring a large pot of salted water to a rolling boil. Add the elbow macaroni and cook according to package directions until al dente. Drain thoroughly and set aside.
03 - In a medium saucepan, melt the butter over medium heat. Sprinkle in the flour and whisk continuously for about 1 minute until the mixture is smooth and lightly golden, forming a roux.
04 - Gradually pour in the whole milk while whisking constantly to prevent lumps. Continue to cook over medium heat, whisking frequently, until the sauce thickens and coats the back of a spoon, about 4 to 5 minutes.
05 - Reduce heat to low. Add both the sharp and mild cheddar cheeses along with the Dijon mustard. Stir gently until the cheeses are completely melted and the sauce is smooth and velvety. Season with salt and black pepper to taste.
06 - Fold the drained macaroni into the cheese sauce, stirring until every piece is evenly coated.
07 - For the baked version, transfer the macaroni mixture into the prepared baking dish. In a small bowl, combine the breadcrumbs, melted butter, and grated Parmesan. Sprinkle the topping evenly over the surface. Bake for 15 to 20 minutes until the top is golden brown and bubbling.
08 - Allow to rest for 5 minutes before serving. Dish out while hot and enjoy.