Boil a large pot of water. Add macaroni noodles and cook until they are almost al dente; drain and rinse the noodles. (Note: This usually means subtracting 2-3 minutes from the recommended cook time on the noodles’ packaging. You want the noodles to be slightly undercooked and crunchy since they will continue to cook in the oven later.)
Melt 3 tbsp unsalted butter over medium heat in a wide, heavy-bottomed pan. Add 3 tbsp flour and stir to coat. Cook the roux for a few minutes, stirring frequently, to cook out any raw flour taste. Add 3 cups of milk to the roux. Increase the heat to medium-high. Whisk the sauce constantly to break up clumps of flour. Continue to heat the milk until it comes to a low boil, and the sauce has noticeably thickened.
Remove the sauce from the heat and add all of the shredded cheese. Stir until the cheese is completely melted, and the sauce has a smooth consistency. Season with a pinch of salt and a good amount of freshly ground black pepper.
Gently fold in the cooked macaroni noodles and cubed Krakus Reduced Sodium Ham. Transfer to a buttered baking dish. Mix 3 tbsp melted butter with 1 cup breadcrumbs. Loosely crumble the buttery breadcrumbs over the macaroni, making sure not to pack them down.
Bake in the oven for approximately 30 minutes, or until top has slightly browned and the cheese sauce is bubbly. You may place under the broiler for 1-3 minutes for deeper browning, if desired.