Every January I end up with the same problem: a foil-wrapped slab of holiday ham in the refrigerator that nobody wants to eat as ham anymore. By day three the sandwiches are over. By day four it is just a salty object taking up the whole middle shelf.
This is the casserole that solves it. Thin potatoes, a real cream sauce, and about two cups of diced ham that stop tasting like leftovers the moment they go in the oven. I have made it after every Easter and Christmas for years, and the only version I will stand behind is the one where the potatoes get a head start on the stovetop.
That is the step most recipes skip, and it is why so many of these come out with a browned top and a layer of crunchy raw potato underneath. Potatoes cook badly in dairy. They need either far more oven time than anyone will give them, or ten minutes of simmering first.
Why This Works
Simmering the sliced potatoes in the milk and cream before assembly does two jobs at once. It gets them most of the way cooked, so the bake is finishing them rather than starting them. And the starch that washes off the slices thickens the sauce for you, which means much less flour and a sauce that never tastes pasty.
Ingredients
This fills a 9×13 dish and feeds eight as a main course with a salad.
For the Casserole
- 3 pounds Yukon Gold potatoes, peeled and sliced 1/8 inch thick
- 2 cups cooked ham, cut into 1/2-inch dice (about 12 ounces)
- 3 tablespoons unsalted butter
- 1 large yellow onion, diced small
- 2 cloves garlic, minced
- 2 tablespoons all-purpose flour
- 2 cups whole milk
- 1 cup heavy cream
- 2 teaspoons Dijon mustard
- 2 sprigs fresh thyme, or 1/2 teaspoon dried
- 1/2 teaspoon black pepper
- 1/4 teaspoon freshly grated nutmeg
- Kosher salt, only at the end and if needed
For the Top
- 6 ounces sharp white cheddar, grated (about 1 1/2 cups)
- 1/3 cup grated Parmesan
- 2 tablespoons chopped chives, for serving
Easy Swap
Russets work and give a softer, more scalloped texture, because they shed much more starch — check the sauce at 7 minutes instead of 10. What does not work is a waxy red potato; it stays firm and never takes on the sauce.
How to Make It
Prep: 25 minutes | Bake: 70 minutes | Serves: 8
- Heat the oven to 375°F and butter a 9×13 baking dish. Slice the potatoes 1/8 inch thick. Do not rinse the slices — you want that surface starch.
- Melt the butter in a Dutch oven over medium heat. Cook the onion 6 to 7 minutes until soft, add the garlic for 30 seconds, then the flour for 1 minute.
- Pour in the milk and cream, whisking as you go, and add the Dijon, thyme, pepper, and nutmeg. Bring it to a simmer. Add no salt at this stage.
- Slide the potato slices in and stir gently to separate them. Simmer 10 minutes, stirring a few times so nothing catches on the bottom. The sauce thickens visibly and the slices go from stiff to bendable.
- Off the heat, taste the sauce. Then taste a piece of your ham on its own. Only then reach for salt — usually you will not need any, and if you do it is a pinch, not a teaspoon.
- Fold in the ham and pour everything into the dish. Press the top flat with a spatula so the potatoes sit submerged rather than standing up out of the sauce.
- Cover tightly with foil and bake 40 minutes. Pull the foil, scatter the cheddar and Parmesan over the top, and bake 20 minutes uncovered until the cheese is browned in patches and the corners bubble.
- Rest it 15 minutes before cutting. Straight from the oven the sauce runs across the plate; fifteen minutes and it sets into squares you can lift out. Chives go on just before serving.
Don’t Do This
Do not salt this on the schedule you would use for any other casserole. Cured ham is already salted to the point of preservation, and a spiral-cut glazed ham is also sugared, which makes the salt read louder once it is spread through three pounds of potato. Season at the very end, after tasting the ham. I got this wrong once and the dish went in the trash.
Can You Make It the Night Before?
Yes — Assemble Up to 24 Hours Ahead
Assemble fully through step 6, cool, cover, and refrigerate up to 24 hours. Hold the cheese back until the foil comes off. Add about 12 minutes to the covered bake, and let the dish sit out for 30 minutes first so it is not going from refrigerator to 375°F in one jump.
One thing to expect: the slices darken wherever the sauce does not quite cover them. It looks alarming overnight, then bakes out and tastes like nothing. If it bothers you, lay the foil directly against the surface instead of tenting it.
This freezes better than most casseroles, because a starch-thickened sauce is more stable than a flour-and-butter one. Bake it fully, cool, cut into portions, and freeze them wrapped individually up to two months. Reheat from frozen, covered, at 350°F for about 35 minutes. A whole unbaked dish does not freeze well — the raw potato edges turn mealy.
What this dish does not let you do is stage the components days apart. The ham can be diced up to three days ahead and kept covered, and the sauce base can be made the day before. The potatoes cannot — sliced potatoes held overnight either oxidize brown in the air or give up their starch in water, and the starch is the whole mechanism here. Slice them the day you bake.
Which Leftover Ham You Have Matters
A plain city ham — the wet-cured pink kind, no glaze — is the easy case. Salty but neutral, and it dices cleanly.
A spiral-cut glazed ham is the common one and the trickiest. The glaze is mostly sugar and it browns fast, so the dice nearest the top caramelize and taste faintly like dessert. I like that, but if you do not, trim the glazed outer edge off before dicing.
Country ham is a different animal. It is salt-preserved rather than brine-cured, and a full cup will wreck the dish. Use half a cup as seasoning rather than the protein, and make up the bulk with diced cooked chicken.
Worth Knowing
The gelatinous bits near the bone are the best part of a leftover ham here. They melt into the sauce and give it body you cannot get any other way. Pick the bone over before you throw it out.
Getting the Potato Slices Right
An eighth of an inch is the number that matters. Thicker and the center of each slice stays firm even after the stovetop head start. Thinner and the slices break apart in the pot.
If you are slicing by hand, halve the potato lengthwise first and lay the flat side down. It stops the thing rolling away from you and makes the slices far more even — and even matters more than thin, because uneven slices means some are done and some are not at the same moment.
Work quickly once they are peeled. Cut potato oxidizes and goes pink-brown in the air within about twenty minutes. Holding the slices in water is the usual fix, but it rinses off the starch this recipe depends on, so slice directly into the pot instead, or keep them in a bowl loosely covered and get them simmering sooner rather than later.
What to Serve With It
This is rich, dairy-heavy, and salty by nature, which means it wants something sharp on the plate next to it. A plain green salad with a vinegary dressing does more for it than any second hot dish would. Quick-pickled red onions are even better — thinly sliced, covered with equal parts cider vinegar and water with a spoonful of sugar, and left on the counter for the hour the casserole is in the oven.
Skip the bread. The casserole already has the starch covered twice over, and in my experience a basket of rolls just makes everyone eat less of the actual dish.
If you are serving this as a full dinner, a cup and a half per person is a realistic portion, which is where the eight servings comes from. Cut it into eight squares rather than scooping — scooping breaks the layers up and it looks like leftovers instead of dinner.
Rachel’s Tip
Cut the ham into 1/2-inch dice, not thin shreds. Shredded ham disappears into the sauce and goes stringy. Dice holds its shape through an hour in the oven and gives you something to bite.
Questions People Ask
Why are my potatoes still hard after an hour in the oven?
Because they went in raw. Potatoes cook slowly in dairy — the calcium in milk firms up the pectin in the potato and actively slows things down. That is the whole reason for the ten-minute simmer in step 4. If you skipped it, cover the dish and give it another 25 to 30 minutes, and test with a paring knife rather than a fork.
Can I use frozen diced potatoes or refrigerated hash browns?
You can, but you lose the starch that thickens the sauce. Skip the simmer, increase the flour to 1/4 cup, and thaw and drain the potatoes first or the extra water thins everything out. The texture comes out more uniform and less layered.
How much leftover ham do I need?
Two cups of 1/2-inch dice, roughly 12 ounces — maybe a third of what a holiday ham leaves you. You can push to three cups if you want it meatier, but no further. Past that the salt gets hard to manage no matter how carefully you season.
Why did my sauce look curdled?
Almost always heat. A hard boil splits a milk and cream sauce, especially with the acid from the Dijon in it. Keep it at a lazy simmer. The other cause is an oven running hot during the uncovered stage — if the cheese browns fast and the edges spit, drop to 350°F.
Can I make this without the cheese on top?
Yes, and it is still good. Without the cheese you lose the browned crust, so give it a buttered breadcrumb topping instead — 3/4 cup panko tossed with 2 tablespoons melted butter, added when the foil comes off. If you leave the top completely bare, cut the uncovered bake to 12 minutes, because there is nothing up there that needs browning.
If you want a green vegetable under the sauce rather than potatoes, and a faster bake, see: Ham and Broccoli Casserole: Green Broccoli and a Sauce That Is Not Grainy.




