01 - Preheat oven to 350°F if preparing the baked version with breadcrumb topping.
02 - Bring a large pot of salted water to a boil. Cook elbow macaroni according to package directions until al dente. Drain thoroughly and set aside.
03 - In a saucepan, melt the unsalted butter over medium heat. Whisk in the all-purpose flour and cook for 1 minute, stirring continuously to form a smooth roux.
04 - Gradually whisk in the whole milk, pouring slowly to prevent lumps. Simmer while whisking constantly 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 until the cheeses are fully melted and the sauce is 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 - For a baked version, transfer the mixture to a greased baking dish. Combine the breadcrumbs, melted butter, and grated Parmesan in a small bowl, then sprinkle evenly over the top. Bake for 15 to 20 minutes until the topping is golden brown and crisp.
08 - Remove from oven and let rest briefly. Serve hot and enjoy.