Pin It My neighbor brought a casserole dish to a potluck years ago, and I watched it disappear faster than anything else on the table. When I finally asked for the recipe, she laughed and said it was just scalloped potatoes with ham, something her grandmother made every holiday. I was skeptical until I tasted it—creamy, savory, with those perfect crispy edges on top. That first bite sold me, and now I make it myself whenever I want that cozy, nostalgic feeling without having to wait for a special occasion.
There was this moment during a family dinner when my teenage nephew asked for thirds, and my sister just shook her head in amazement because he'd refused every vegetable dish on the plate. The potatoes had somehow made a believer out of him, and suddenly everyone at the table was quiet, just eating. That's when I realized this recipe isn't just comfort food—it's a small miracle that brings people together.
What's for Dinner Tonight? 🤔
Stop stressing. Get 10 fast recipes that actually work on busy nights.
Free. No spam. Just easy meals.
Ingredients
- Yukon Gold or Russet potatoes (1.5 kg / 3.5 lbs), peeled and thinly sliced: Yukon Golds are buttery and hold their shape beautifully, but Russets work too if you're careful not to overcook them. A mandoline slicer saves your fingers and makes everything uniform.
- Cooked ham (250 g / 9 oz), diced: Use quality ham with good flavor—this isn't the place to skimp. Smoked varieties add a wonderful depth.
- Unsalted butter (60 g / 4 tbsp): This is your roux base, so don't use salted butter or you'll throw off your seasoning.
- Medium onion, finely chopped: Gentle heat and patience here—you want sweet, softened onions, not browned ones.
- Garlic cloves (2), minced: Add it after the onion softens, just for a minute, so the garlic flavor stays bright without turning bitter.
- All-purpose flour (50 g / 1/3 cup): This thickens your sauce into something silky and cohesive.
- Whole milk (700 ml / 3 cups): Don't use low-fat milk or your sauce won't have that rich, luxurious mouthfeel.
- Heavy cream (120 ml / 1/2 cup): This is what elevates the dish from good to unforgettable.
- Salt (1 tsp), black pepper (1/2 tsp), ground nutmeg (1/4 tsp): The nutmeg is subtle but essential—it's the secret ingredient nobody can quite name.
- Shredded Gruyère cheese (200 g / 2 cups): Nutty and sophisticated, worth buying a fresh block and grating it yourself if you have time.
- Shredded sharp cheddar cheese (100 g / 1 cup): The sharp variety brings needed punch to balance the richness.
- Grated Parmesan cheese (30 g / 1/4 cup): Save this for the top layer where it gets gloriously golden.
- Chopped fresh parsley (2 tbsp), optional: A sprinkle at the end adds color and freshness that cuts through the richness.
Tired of Takeout? 🥡
Get 10 meals you can make faster than delivery arrives. Seriously.
One email. No spam. Unsubscribe anytime.
Instructions
- Get your kitchen ready:
- Preheat your oven to 180°C (350°F) and grease a 23x33 cm baking dish thoroughly. You want butter or nonstick spray covering every corner so nothing sticks.
- Build your flavor base:
- Melt butter in a large saucepan over medium heat, add your chopped onion, and let it soften gently for 3–4 minutes until it's translucent and smells sweet. Stir in the minced garlic and cook for just a minute—you'll smell when it's right.
- Make the roux:
- Sprinkle the flour over the butter and onions, then whisk constantly for 1–2 minutes. This cooks out the raw flour taste and creates a pale paste that's the foundation of your sauce.
- Create the sauce:
- Pour in the milk and cream slowly while whisking to prevent lumps. Keep stirring until it thickens slightly, about 3–4 minutes of gentle simmering.
- Season and add cheese:
- Taste your sauce and season with salt, pepper, and just a pinch of nutmeg—this is crucial because the potatoes will absorb these flavors. Stir in half the Gruyère and cheddar until they melt completely, creating something silky and smooth.
- Layer thoughtfully:
- Spread half your potato slices across the baking dish, then scatter half the diced ham on top, then pour half the cheese sauce over everything. Now repeat: potatoes, ham, sauce. This creates pockets of flavor throughout.
- Top it off:
- Sprinkle the remaining Gruyère and cheddar across the top, then cover that with all the Parmesan. This creates three layers of cheese that brown beautifully.
- Bake low and slow:
- Cover the dish loosely with foil and bake for 45 minutes so the potatoes cook through without the top burning. Remove the foil and bake for another 25–30 minutes until everything is tender and golden.
- Rest before serving:
- Let it sit for 10 minutes—this sounds unnecessary but it lets everything set so you get clean, beautiful portions instead of a soupy mess.
Pin It I once made this for a church potluck where I was genuinely nervous about how it would hold up next to everyone else's dishes. It came back empty, with a note that just said 'Recipe please?' Honestly, that note meant more to me than any compliment ever could.
Still Scrolling? You'll Love This 👇
Our best 20-minute dinners in one free pack — tried and tested by thousands.
Trusted by 10,000+ home cooks.
Why the Cheese Matters
Using real Gruyère instead of pre-shredded cheese changes everything because fresh cheese melts smoothly into the sauce, while pre-shredded varieties have anti-caking agents that make everything grainy. The sharp cheddar adds depth without overwhelming, and the Parmesan on top is what gives you that golden, slightly crispy finish that makes people lean in for another bite. Don't cheap out on this—the cheese is half the magic.
Make-Ahead Wisdom
This casserole is perfect for assembling a day or two ahead because the flavors actually deepen as everything sits together. Just cover it with foil, refrigerate it, and bake it straight from cold—just add about 10 extra minutes to your baking time. Some of my best holiday meals have come from this exact strategy.
Flavor Variations and Substitutions
I've made this with smoked turkey instead of ham when I had people avoiding pork, and it was equally delicious. Chicken works too, though it's a little milder. For heat, add a pinch of cayenne pepper to the sauce, or try a handful of fresh thyme stirred in at the end.
- Smoked turkey, chicken, or even crispy bacon can replace the ham without changing the outcome.
- A tiny pinch of cayenne pepper adds warmth without making it spicy.
- Fresh thyme or rosemary stirred into the sauce adds an herbaceous note that feels seasonal.
Pin It This recipe has become my go-to for turning a regular Tuesday into something special, or for showing up to someone's house with something warm and real. It's the kind of food that makes people slow down and remember why they love eating together.
Recipe FAQs
- → What type of potatoes work best for this dish?
Yukon Gold or Russet potatoes are ideal as they hold their shape and become tender when thinly sliced and baked.
- → Can I use a different type of meat instead of ham?
Yes, smoked turkey or chicken are great substitutes that complement the creamy cheese sauce well.
- → How do I prevent the sauce from becoming lumpy?
Whisk the flour into the melted butter thoroughly before gradually adding milk and cream to ensure a smooth, thickened sauce.
- → What is the purpose of nutmeg in the sauce?
Nutmeg adds a warm, subtle spice that enhances the creamy cheese flavor without overpowering the dish.
- → Can this dish be prepared ahead of time?
Yes, you can assemble it up to a day in advance, cover, refrigerate, and bake when ready to serve.