This is the kind of dish that brings everyone to the table without a fuss. It’s warm, comforting, and loaded with the familiar flavors you crave on a busy weeknight. Tender potatoes, savory ham, and melty cheese come together in a creamy sauce that feels indulgent yet simple.
It’s easy to prep, makes great leftovers, and works for both weeknights and low-key weekends. If you’ve got leftover ham and a bag of potatoes, you’re halfway there.
What Makes This Special

This casserole checks all the boxes: comforting, budget-friendly, and crowd-pleasing. It’s a smart way to use leftover ham, and it’s flexible enough to welcome veggies, different cheeses, or even a lighter sauce.
The texture is a winning combo—soft, creamy potatoes with golden, cheesy edges. Plus, you can assemble it ahead and bake when you’re ready, making it perfect for busy schedules.
What You’ll Need
- Russet or Yukon Gold potatoes (2 to 2.5 pounds), peeled and thinly sliced (about 1/8-inch)
- Cooked ham (2 cups), diced
- Yellow onion (1 medium), finely chopped
- Garlic (2 cloves), minced
- Butter (4 tablespoons)
- All-purpose flour (3 tablespoons)
- Milk (2 cups) or half-and-half for a richer sauce
- Chicken broth (1/2 cup) for depth (optional but recommended)
- Cheddar cheese (2 cups), shredded (sharp cheddar works best)
- Monterey Jack or Mozzarella (1 cup), shredded for extra melt
- Dijon mustard (1 teaspoon) for brightness
- Smoked paprika (1/2 teaspoon) for a subtle smoky note
- Salt and black pepper to taste
- Chives or parsley (2 tablespoons), chopped, for garnish
- Cooking spray or butter for greasing the baking dish
How to Make It

- Prep the oven and pan: Preheat the oven to 375°F (190°C). Grease a 9×13-inch baking dish with butter or cooking spray.
- Slice the potatoes: Peel and slice the potatoes thinly.
Aim for even slices so they cook at the same rate. If you have a mandoline, this is the time to use it.
- Sauté the aromatics: In a medium saucepan, melt the butter over medium heat. Add the onion and a pinch of salt.
Cook until soft and translucent, 4–5 minutes. Stir in the garlic for 30 seconds.
- Make the roux: Sprinkle in the flour and cook, stirring, for 1 minute to remove the raw flour taste.
- Build the sauce: Gradually whisk in the milk, then the chicken broth. Keep whisking until smooth and gently bubbling, 3–5 minutes.
Stir in Dijon, smoked paprika, 1 teaspoon salt, and 1/2 teaspoon black pepper.
- Add cheese: Remove from heat. Stir in 1.5 cups cheddar and 1/2 cup Monterey Jack until melted and smooth. Taste and adjust seasoning.
- Assemble layers: Spread a thin layer of sauce in the baking dish.
Add half the potatoes, half the ham, and a third of the remaining cheese. Pour over about half the sauce. Repeat with the remaining potatoes, ham, most of the cheese, and the rest of the sauce.
Finish with the last sprinkle of cheese on top.
- Cover and bake: Cover with foil and bake for 40 minutes. The potatoes should start to soften and the sauce will bubble around the edges.
- Uncover to brown: Remove the foil and bake another 20–30 minutes, until the top is golden and the potatoes are tender when pierced with a knife. If needed, broil for 1–2 minutes for extra color.
- Rest and serve: Let the casserole rest 10–15 minutes before serving so it sets.
Garnish with chopped chives or parsley.
Storage Instructions
- Refrigerate: Cool completely, then cover tightly. Store for up to 4 days.
- Reheat: Warm individual portions in the microwave, or cover the whole dish with foil and reheat at 325°F until hot, about 20–25 minutes.
- Freeze: Freeze baked and cooled portions for up to 2 months. Thaw overnight in the fridge before reheating.
Note: The texture of potatoes can soften after freezing, but the flavor stays great.
- Make ahead: Assemble up to 24 hours in advance. Cover and refrigerate, then bake. Add 10–15 minutes to the baking time if starting from cold.
Health Benefits
- Protein boost: Ham adds a solid amount of protein, which helps keep you full and satisfied.
- Potassium and vitamin C: Potatoes provide potassium for heart health and vitamin C for immune support.
- Calcium from dairy: The cheese and milk deliver calcium for bones and teeth.
- Room to lighten it up: You can swap part of the milk with low-sodium broth, use reduced-fat cheese, or add veggies to increase fiber and nutrients.
What Not to Do
- Don’t slice potatoes unevenly: Thick slices won’t cook through while thin ones overcook.
Aim for uniform thickness.
- Don’t skip the rest time: Cutting in right away makes it soupy. Resting helps it set for cleaner slices.
- Don’t overseason with salt early: Ham and cheese are already salty. Season the sauce, then taste before adding more.
- Don’t use pre-shredded cheese if you can avoid it: It often contains anti-caking agents that affect melting.
Freshly shredded melts smoother.
- Don’t crank the heat: Baking too hot can burn the top while leaving potatoes undercooked. Stick to moderate heat and finish with a quick broil if you want more color.
Variations You Can Try
- Veggie-loaded: Add 1–2 cups of steamed broccoli, peas, or sautéed mushrooms between layers.
- Herb and garlic: Stir fresh thyme or rosemary into the sauce and add extra garlic for a bolder flavor.
- Spicy kick: Add diced jalapeños, a pinch of cayenne, or swap in pepper jack cheese.
- Lighter dairy: Use 1 cup milk and 1 cup low-sodium chicken broth, and reduce cheese slightly. Keep flavor with Dijon and paprika.
- Sweet onion and gruyère: Swap cheddar for gruyère and caramelize the onions for a French-inspired twist.
- Hash brown shortcut: Replace sliced potatoes with thawed shredded hash browns.
Reduce initial covered bake time by about 10 minutes.
FAQ
Can I use leftover scalloped potatoes?
Yes. Layer leftover scalloped potatoes with diced ham and extra cheese, then bake until hot and bubbly. You may not need extra sauce if the potatoes are already creamy.
What’s the best potato for this casserole?
Yukon Golds hold their shape and turn creamy without falling apart.
Russets also work well and become tender, but can be a touch more delicate. Avoid waxy reds unless sliced very thin.
Do I need to parboil the potatoes?
No, not if you slice them thinly and bake as directed. If your slices are thicker, you can parboil for 5 minutes to jump-start cooking.
How do I keep the sauce from becoming grainy?
Whisk the milk in gradually, let the sauce gently thicken, then remove from heat before adding cheese.
Stir the cheese off heat to prevent curdling and keep it smooth.
Can I make it without flour?
Yes. Use a cornstarch slurry (2 tablespoons cornstarch mixed with 2 tablespoons cold milk) whisked into hot milk and broth. Let it thicken, then add cheese off heat.
What if I don’t have Dijon?
Use a small splash of apple cider vinegar or lemon juice for brightness, or a teaspoon of yellow mustard.
It helps balance the richness.
How can I reduce the salt?
Use low-sodium broth, choose a lower-sodium ham, and season lightly. You can also increase the potatoes or add vegetables to dilute overall saltiness.
Can I use plant-based milk?
Yes, unsweetened, unflavored almond or oat milk can work. The sauce may be slightly thinner; thicken with a bit more roux or cornstarch and choose a good melting cheese alternative.
What size pan should I use if I halve the recipe?
A 9×9-inch or 8×8-inch pan works well.
Start checking for doneness about 10 minutes earlier than the full recipe.
How do I know it’s done?
The top should be golden and bubbling, and a knife should slide easily through the potatoes. If the top browns too fast, cover loosely with foil and continue baking until tender.
In Conclusion
Cheesy Ham and Potato Casserole is the cozy, reliable dinner you’ll reach for again and again. It’s simple to assemble, easy to customize, and friendly to leftovers.
Whether you’re feeding a hungry family or planning a make-ahead meal, this dish delivers comfort and flavor without fuss. Keep it classic or make it your own—either way, it’s a guaranteed hit at the table.