Peel the potatoes and cut them into pieces approximately ¾ inch in size. The prepared potatoes should measure a little more than 6 cups.
Transfer the potatoes to a medium saucepan and add enough water to cover them completely. Bring the water to a boil.
Once boiling, cook the potatoes for only 5–6 minutes. They should begin to soften but should not become fully tender.
Drain the potatoes thoroughly and set them aside.
Lightly grease a 9 × 13-inch baking dish or another oven-safe casserole dish with a 3–4-quart capacity.
Place the warm, drained potatoes in the prepared dish. Add the diced ham and 1 cup, or approximately 100 grams, of grated sharp cheddar cheese.
Gently toss the ingredients until evenly distributed, then set the baking dish aside while preparing the sauce.
Preheat the oven to 375°F (191°C).
Melt the unsalted butter in a large skillet or saucepan over medium heat.
Add the finely chopped onion and minced garlic. Cook for approximately 3 minutes, stirring occasionally, until the onion has softened.
Add the salt, black pepper, smoked paprika, ground mustard, dried parsley, and all-purpose flour. Stir thoroughly until the seasonings are evenly incorporated and the flour has absorbed the available moisture.
Lower the heat, then gradually pour in the warmed whole milk while stirring continuously.
Allow the mixture to simmer for 3–5 minutes, or until it thickens to a gravy-like consistency.
Remove the sauce from the heat. Taste and, if necessary, adjust the salt, pepper, paprika, mustard, or parsley according to preference.
Pour the warm sauce evenly over the potato, ham, and cheese mixture in the baking dish.
Carefully toss the contents until the potatoes and ham are evenly coated with the sauce.
Cover the baking dish with aluminum foil and bake in the preheated oven for 30 minutes.
Remove the foil after 30 minutes. Scatter the remaining ½ cup of grated cheddar cheese evenly over the casserole.
Return the uncovered dish to the oven and continue baking for another 5–10 minutes, until the cheese has fully melted and the sauce is bubbling around the edges.
Remove the finished casserole from the oven and garnish with freshly chopped parsley. Green onion, chives, or a drizzle of hot sauce may also be used as finishing garnishes.
Serve the casserole while hot.
Transfer leftovers to the refrigerator and store them for up to 1 week.
Reheat individual portions as desired. To warm the entire casserole, cover the baking dish with aluminum foil and place it in a 350°F (177°C) oven for approximately 20 minutes.