01 - Preheat the oven to 350°F if preparing the baked version with breadcrumb topping.
02 - Bring a large pot of salted water to a rolling boil. Cook the elbow macaroni according to package directions until al dente. Drain thoroughly and set aside.
03 - In a medium saucepan, melt the butter over medium heat. Whisk in the flour and cook, stirring constantly, for 1 minute to form a smooth roux.
04 - Gradually pour in the whole milk while whisking continuously to prevent lumps. Bring the mixture to a gentle simmer and cook, whisking constantly, until the sauce thickens and coats the back of a spoon, about 4 to 5 minutes.
05 - Reduce the heat to low. Add both the sharp and mild cheddar cheeses along with the Dijon mustard. Stir until the cheeses are completely melted and the sauce is silky smooth. Season with salt and black pepper to taste.
06 - Fold the drained macaroni into the cheese sauce, stirring gently until every piece is evenly coated.
07 - For a crispy baked finish, transfer the macaroni mixture to a greased baking dish. In a small bowl, combine the breadcrumbs, melted butter, and grated Parmesan. Sprinkle evenly over the top and bake for 15 to 20 minutes until the crust is golden brown and bubbling.
08 - Remove from the oven and let rest for 2 to 3 minutes. Serve hot and enjoy.