Preheat the oven to 350 degrees. Spray a 13 x 9 baking dish with cooking spray.
Cook pasta in salted water according to package direction.
Meanwhile, melt the butter in a medium saucepan over medium heat. Stir in flour and cook, stirring often, for 3 to 4 minutes, until golden brown.
Whisk in milk slowly until well combined. Cook, stirring often, until slightly thickened, about 8 minutes.
Reduce heat to medium-low and stir in the shredded cheddar and gouda or gruyere cheese. Cook until melted, then add in Dijon mustard, salt, pepper, cayenne, and Worcestershire sauce. Stir until well combined.
When pasta is cooked, drain and toss with cheese sauce and cubed cheddar cheese. Transfer to prepared pan.
Melt butter in a small saucepan. Toss with crumbs and sprinkle on top of pasta.
Bake for 35 minutes. Allow to cool for 10 minutes before serving.
Notes
Storage
Leftover Macaroni and Cheese with Bread Crumbs will keep very well. Store any extra in an airtight container in the refrigerator and enjoy within four days.
Make-Ahead
To make this recipe ahead, you have a couple of options. You can prepare the full dish up to 24 hours ahead of time, and bake when ready to serve. For holidays or other times when oven space is tight, you can bake up to a day ahead, and reheat covered in foil for 15 minutes, or until heated through. In either case, remove from the refrigerator about an hour before heating.