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 butter over medium heat. Whisk in flour and cook for 1 minute, stirring constantly, until the mixture forms a smooth roux and turns lightly golden.
04 - Gradually whisk in the whole milk, pouring slowly to prevent lumps. Simmer while whisking constantly for 4 to 5 minutes until the sauce thickens enough to coat the back of a spoon.
05 - Reduce heat to low. Stir in both sharp and mild cheddar cheeses along with Dijon mustard. Continue stirring until the cheeses are fully melted and the sauce is smooth. Season with salt and black pepper to taste.
06 - Add the drained macaroni to the cheese sauce and stir until every piece of pasta is evenly coated.
07 - Transfer the mixture to a greased baking dish. Combine breadcrumbs, melted butter, and grated Parmesan in a small bowl, then sprinkle evenly over the surface. Bake for 15 to 20 minutes until the topping is golden brown and crispy.
08 - Remove from oven and let rest for 2 to 3 minutes. Serve hot while the cheese sauce is still creamy.