Cook the macaroni according to package instructions until al dente.
In a large saucepan, melt the butter over medium heat.
Stir in the flour and cook for around one minute to create a roux.
Gradually whisk in the milk and cook until thickened, about 5-7 minutes.
Remove from heat and stir in the cheeses until melted and smooth.
Add the cooked macaroni to the cheese sauce and mix to combine.
Season with Dijon mustard, salt, and pepper. Adjust to taste.
Transfer the mixture to a greased baking dish and top with breadcrumbs if desired.
Bake in a preheated oven at 350°F (175°C) for about 20-25 minutes.
Let it cool slightly before serving to thicken the sauce.