Scalloped potatoes and ham baked in a creamy homemade sauce with tender layers of potatoes and savory ham. Comforting, simple, and perfect for leftovers.
I don’t really schedule this meal. It kind of shows up on its own, usually after I’ve got leftover ham sitting in the fridge and no real plan for it. That’s how it started for me, anyway. One random evening, cold kitchen, not much energy, and I just started slicing potatoes because it felt like the easiest thing I could do.
Now it’s one of those meals that feels like it belongs in my regular rotation, even though I still don’t treat it like a “planned” recipe. It’s filling in that quiet, steady way. Not flashy, not trying too hard. Just warm, creamy, and kind of dependable.
What I like most is how forgiving it is. I’ve messed it up before. Undercooked potatoes once. Sauce too thick another time. Still turned out edible, still got eaten. That says a lot about a recipe.
Ingredients I Used for the Recipe
- ⅓ cup butter – this is the base for the sauce and gives it that rich, slightly indulgent flavor
- 1 small onion, diced – adds a soft sweetness that kind of melts into everything
- ⅓ cup all-purpose flour – helps thicken the sauce so it clings to the potatoes
- ½ teaspoon dried thyme – just a little, but it brings a quiet depth that I didn’t expect at first
- 3 cups milk – makes the sauce creamy without being too heavy
- ½ cup chicken broth – adds a bit of savory flavor so it’s not just milk-based
- 3 pounds Yukon gold potatoes, thinly sliced – these cook soft and hold their shape nicely
- Salt and black pepper – I just adjust as I go, no strict measuring here
- 2 cups diced cooked ham – perfect way to use leftovers, and it adds that salty bite
- 1 cup shredded sharp cheddar cheese, optional – I don’t always use it, but when I do it gets extra cozy
How to make Scalloped Potatoes and Ham?

Step 1 – Start with the base
I melt the butter in a pan over medium-low heat, then toss in the diced onion. I don’t rush this part. I let the onions soften slowly until they’re kind of translucent and smell sweet instead of sharp.
Then I add the thyme and flour. It looks a little clumpy at first, and I used to think I was doing it wrong, but it smooths out as it cooks. I let it sit for a minute or two so it doesn’t taste like raw flour later.
Step 2 – Build the sauce slowly
This part took me a couple tries to get right. I pour in the milk a little at a time, stirring after each addition. If I rush it, I get lumps. If I slow down, it turns silky.
Once all the milk is in, I add the chicken broth, salt, and pepper. I let it come to a gentle boil for a minute so it thickens. Not too thick though. I’ve made that mistake, and it turns into something closer to paste than sauce.
Step 3 – Slice and layer everything
I slice the potatoes thin. Not perfectly even, just close enough. I’ve skipped peeling them before when I felt lazy, and honestly, it still worked fine.
In a greased baking dish, I layer about a third of the potatoes, then some ham, then a bit of sauce. I repeat that until everything’s used up, ending with sauce on top. It doesn’t look pretty at this stage. It never does.
Step 4 – Bake covered, then uncovered
I cover the dish and bake it at 350°F for about 50 minutes. This is where the potatoes start softening and soaking everything in.
Then I uncover it and bake another 25 to 35 minutes. If I’m adding cheese, I sprinkle it on during the last 15 minutes. That way it melts but doesn’t dry out.
Step 5 – Let it sit before touching it
This part is annoying but necessary. I let it rest for at least 10 to 15 minutes. If I cut into it too soon, it falls apart and looks messy. When I wait, it sets up nicely and slices cleaner.
I still sneak a bite early sometimes though. It’s hard not to.
Serving it without overthinking things
I usually treat this as a full meal. It’s already got protein, starch, and all that creamy richness going on. I don’t feel like it needs much else.
But when I do want something on the side, I go for something green. Steamed broccoli works. Green beans too. Something simple that doesn’t compete with the main dish.
There was one time I served it with a salad and a glass of slightly sweet white wine, and it felt like I had my life together for about an hour. That doesn’t happen often, so I remember it.
Tips from all the times I got it slightly wrong
Slice the potatoes thin. Thicker slices take forever to cook, and I’ve definitely ended up with a dish that looked done but had crunchy centers. Not great.
Don’t rush the sauce. I know it’s tempting. But adding the milk slowly really does make a difference. It goes from lumpy to smooth if you just give it a minute.
Use what you have. I’ve swapped potato types, skipped cheese, used different herbs. It still works. That’s part of why I keep making it.
Let it rest. I said it before, but it matters. The sauce thickens up, the layers settle, and it just feels more finished.
And maybe the biggest one, don’t stress about making it perfect. This isn’t that kind of recipe. It’s meant to be a little uneven, a little rustic, a little forgiving.
That’s probably why I keep coming back to it without really deciding to. It fits into real life. Not the polished version of it, just the everyday kind.

Leftover Scalloped Potatoes and Ham Recipe
Description
Creamy, cheesy scalloped potatoes layered with tender diced ham make this comforting casserole a family favorite. Easy to prepare and perfect for using leftover ham.
ingredients
Instructions
- Preheat oven to 350°F (175°C). Grease a 9x13 inch baking pan and set aside.
- In a saucepan, cook onion and butter over medium-low heat until onion is tender. Add thyme and flour; cook 1-2 minutes, stirring constantly.
- Reduce heat to low. Gradually whisk in milk, adding a little at a time. Stir in chicken broth, salt, and pepper. Bring to a gentle boil and cook 1 minute until thickened.
- Layer one-third of the potatoes in the prepared pan, top with one-third of the ham, then one-third of the sauce. Repeat layers twice, ending with sauce on top.
- Cover tightly with foil and bake 50 minutes. Remove foil and bake 25-35 minutes longer until potatoes are tender and top is golden. Add cheese during the last 15 minutes if using.
- Remove from oven and let rest at least 15 minutes before serving. Garnish with fresh parsley if desired.
Nutrition Facts
Servings 6
- Amount Per Serving
- Calories 527kcal
- % Daily Value *
- Total Fat 24gg37%
- Saturated Fat 14gg70%
- Trans Fat 0.5gg
- Cholesterol 85mgmg29%
- Sodium 890mgmg38%
- Potassium 920mgmg27%
- Total Carbohydrate 52gg18%
- Dietary Fiber 4gg16%
- Sugars 8gg
- Protein 24gg48%
- Calcium 22% mg
- Iron 12% mg
* Percent Daily Values are based on a 2,000 calorie diet. Your daily value may be higher or lower depending on your calorie needs.
Note
- Make ahead: Assemble up to 1 day ahead, cover, and refrigerate. Add 10-15 minutes to baking time if cooking from cold.
- Cheese tip: For extra richness, stir half the cheddar into the sauce before layering.
- Potato note: Yukon Golds hold their shape well, but russets work too for a fluffier texture.
- Leftovers: Store covered in the refrigerator up to 3 days. Reheat gently in the oven to maintain creaminess.
