-
Cook the pasta in boiling salted water according the package instructions. Drain and set aside.
-
Return the pot to the stove and melt 1 tablespoon of the butter over medium-high heat. Add in the ham and sauté for 2-3 minutes or until the edges start to caramelize. Transfer the ham to a bowl and set aside.
-
Melt the remaining 3 tablespoons of butter and whisk in the flour. Cook the roux for 1 minute and pour in 3 ½ cups of the milk, whisking continuously. Bring the mixture to a simmer, whisking occasionally until thickened.
-
Whisk in the Dijon mustard, cayenne pepper, and season with salt and pepper to taste.
-
Turn the heat off, and stir in the cheeses by the handful, allowing each addition to melt before adding the next.
-
Mix in the pasta, reserved ham, and broccoli. Mix well, adding the additional ½ cup of milk if needed.
-
The macaroni and cheese is ready to enjoy at this point, but if you want to take things up a notch, I suggest making the breadcrumb topping!
-
Take a few pieces of leftover bread or dinner rolls and pulse them into crumbs in your food processor (alternatively you can use breadcrumbs or panko). Season the mixture with salt and pepper and mix with melted butter. Toast the crumbs in a pan over medium heat until golden brown. Sprinkle them over the mac and cheese and enjoy!