Mise en place! Prep potatoes, carrots, parsley, and ham. Pre-heat oven to 350°.
Place potatoes and carrots in a large pot. Cover with water. Salt. Bring to a boil and simmer until tender, approximately 10 minutes. Drain, reserving the water.
In a saucepan, melt 3 Tbsp. of butter over medium-low heat. Stir in parsley, flour, salt, and pepper. Stir until smooth and bubbly.
Add 3/4 C. of reserved liquid (from boiling potatoes and carrots) and milk in small intervals (approximately 1/4 cup at a time), stirring well after each addition. Continue cooking, stirring constantly, until sauce is thickened.
When sauce is thickened, add cheese in large handfuls, stirring well after each addition. Remove from heat when cheese sauce is smooth and bubbly.
Pour cheese sauce over potatoes and carrots. Gently stir in ham. Transfer to a baking dish.
Melt remaining 2 Tbsp. of butter. Stir bread crumbs into butter. Sprinkle bread crumb/butter mixture over casserole.
Bake at 350° for 30 minutes or until hot and bubbly.
Notes
I use leftover ham, but you can also use store-bought ham. You can substitute 1 & 1/3 tsp. dried parsley for fresh parsley. I have noticed NO taste difference from doing this. You can use 1 C. sharp cheddar and 1 C. mild cheddar for a more flavorful sauce.