Save There's something about the smell of potatoes and cheese baking together that makes a kitchen feel like home. I discovered this version of scalloped potatoes years ago when my neighbor brought it to a winter potluck, and one bite made me understand why it disappeared so quickly. The layers are impossibly creamy, the ham adds this subtle salty richness, and somehow it's comforting without feeling heavy. I went home that night determined to figure out her secret, and after a few attempts and one memorable batch where I forgot the nutmeg entirely, I finally got it right. Now it's become my go-to for feeding a crowd.
I made this for my daughter's birthday dinner last spring when she asked for something that felt special but not fussy. Watching her face when she tasted it, hearing her ask for seconds, reminded me that the best recipes are the ones that make people genuinely happy. Since then, it's become her request for every family gathering.
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 stay buttery and hold their shape beautifully, but Russets work too if you're careful not to overcook them. A mandoline slicer changed my life here—uniform thickness means everything cooks at exactly the same rate.
- Cooked ham (250 g / 9 oz), diced: Good quality ham makes a real difference; cheap ham turns watery and mealy. I buy it from the deli counter when I can.
- Unsalted butter (60 g / 4 tbsp): Unsalted lets you control the salt level in the sauce, which matters more than you'd think.
- Medium onion, finely chopped: The onion dissolves almost completely into the sauce, adding sweetness without announcing itself.
- Garlic cloves (2), minced: Garlic deepens the savory notes and keeps the dish from tasting one-dimensional.
- All-purpose flour (50 g / 1/3 cup): This is your thickener; whisk it smoothly into the butter to avoid lumps that won't disappear.
- Whole milk (700 ml / 3 cups) and heavy cream (120 ml / 1/2 cup): The combination of both creates a sauce that's rich but not gravy-like. Whole milk alone would be too thin.
- Salt (1 tsp), black pepper (1/2 tsp), ground nutmeg (1/4 tsp): Nutmeg is the secret weapon; it's barely noticeable but it rounds out all the other flavors beautifully.
- Gruyère cheese (200 g / 2 cups), shredded: Gruyère melts like a dream and adds a slightly nutty, sophisticated flavor that cheddar alone can't quite achieve.
- Sharp cheddar cheese (100 g / 1 cup), shredded: Sharp cheddar brings a tangy punch that balances the richness.
- Parmesan cheese (30 g / 1/4 cup), grated: Parmesan on top gets crispy and golden, giving you those satisfying textured bits.
- Fresh parsley (2 tbsp), chopped (optional): A little green brightens everything up visually and adds a fresh note at the end.
Tired of Takeout? 🥡
Get 10 meals you can make faster than delivery arrives. Seriously.
One email. No spam. Unsubscribe anytime.
Instructions
- Set your oven and prepare the dish:
- Preheat to 180°C (350°F) and grease your baking dish well with butter or nonstick spray. I learned the hard way that a dry dish leads to stuck edges that are impossible to get out cleanly.
- Build your flavor base:
- Melt butter over medium heat, then add your chopped onion and cook for about 3–4 minutes until it's softened and just barely turning golden at the edges. Stir in the minced garlic and cook for another minute, letting the kitchen fill with that incredible aroma. This is where patience pays off; rushing this step means undercooked onion pieces that taste too sharp.
- Make the roux:
- Sprinkle flour over your butter and onion mixture and whisk constantly for 1–2 minutes. You're creating a paste that will thicken the sauce, and the cooking time matters because raw flour tastes bitter and flour that's cooked too long can break down. The mixture should look like wet sand.
- Create the silky sauce:
- Very gradually pour in your milk and cream while whisking constantly to prevent lumps from forming. If you rush this step, you'll have little flour balls suspended in your sauce, and fishing them out is not fun. Once all the liquid is in, keep stirring for another 3–4 minutes over medium heat until the sauce visibly thickens and coats the back of a spoon.
- Season and melt in the cheese:
- Add salt, pepper, and a tiny pinch of nutmeg—it should be subtle, almost undetectable, not a nutmeg-forward sauce. Turn off the heat and stir in half of your Gruyère and cheddar cheeses until they're completely melted and incorporated. The residual heat is enough; you don't want the cheese to separate.
- Layer your potatoes and ham:
- Arrange half your thinly sliced potatoes in the bottom of the prepared baking dish in slightly overlapping layers. Scatter half the diced ham over the potatoes, then pour half the cheese sauce over everything. Now repeat with the remaining potatoes, ham, and sauce, making sure the top is generously coated. The layers should look neat and intentional.
- Crown with cheese:
- Sprinkle the remaining Gruyère and cheddar evenly over the top, then finish with all the Parmesan cheese. This creates a golden, crispy top that's absolutely worth waiting for.
- Bake covered and then uncovered:
- Cover the whole dish tightly with foil and bake for 45 minutes. The foil traps steam and helps the potatoes cook through without the top burning. After 45 minutes, remove the foil and bake for another 25–30 minutes until the potatoes are completely tender when you poke them with a fork and the top is a deep golden brown. If the top is browning too quickly but the potatoes still feel firm, tent it loosely with foil for a few more minutes.
- Rest before serving:
- Let the dish sit undisturbed for at least 10 minutes before you serve it. This allows everything to set slightly so you can cut clean portions instead of a creamy, runny mess. Finish with a scatter of fresh parsley if you have it.
Save I made this for my mother after she had surgery, and she cried a little when she took the first bite. It wasn't just food to her that day; it was someone saying I'm thinking of you, you're going to be okay. That's when I realized this dish has quiet power in it.
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.
The Magic of Proper Layering
The layering in this dish isn't just for looks; it determines whether every bite tastes the same or whether you get pockets of different textures and flavors. I used to just dump everything randomly into the dish, and it never turned out as good. Now I take a breath and arrange each layer intentionally—potatoes first, then ham pieces scattered across, then sauce. It takes maybe two extra minutes, but the results are noticeable. The sauce gets distributed evenly, the ham doesn't settle to the bottom, and the potatoes cook in contact with the creamy mixture all around them.
Variations and Substitutions
This dish is forgiving enough to welcome changes. I've made it with smoked turkey when I had ham in the freezer, and honestly, the flavor is slightly lighter but equally delicious. Some people add a pinch of cayenne pepper to the sauce for a whisper of heat, which I love on cold days. If you want to stretch it further, add diced sharp cheddar right into the sauce layers, not just on top. The beauty is that the bones of this recipe are strong enough to hold variations without falling apart.
Make-Ahead and Storage Wisdom
This is one of those rare dishes that actually improves slightly when you assemble it a day ahead and let it sit in the refrigerator. The potatoes absorb the sauce flavors overnight, and everything tastes more cohesive. If you're doing this, assemble it completely, cover it tightly with plastic wrap, and refrigerate. Bake it straight from the cold oven—just add 10–15 minutes to the cooking time since you're starting from cold. Leftovers keep for three days covered in the fridge, and they reheat beautifully in a 160°C oven with a little foil tent to prevent drying.
- Assemble up to one day ahead and refrigerate until you're ready to bake.
- Add 10–15 minutes to the baking time if baking straight from the refrigerator.
- Leftovers reheat best low and slow with foil coverage to trap moisture.
Save This dish has fed my family through countless dinners and celebrations, and every time someone asks for the recipe, I feel a little proud. It's simple enough for any home cook, impressive enough to serve at a proper dinner, and comforting enough to heal something small in a day that needed healing.
Recipe FAQs
- → What type of potatoes work best?
Starchy potatoes like Yukon Gold or Russet provide a creamy texture and hold their shape well during baking.
- → Can I substitute the ham?
Yes, smoked turkey or chicken can be used as alternatives for different flavors or dietary needs.
- → How do I achieve a creamy sauce without lumps?
Whisk the flour into melted butter thoroughly, then gradually add milk and cream while stirring constantly to avoid lumps.
- → Is there a way to add a spicy kick?
Adding a pinch of cayenne pepper to the sauce can provide a subtle heat and enhance flavor complexity.
- → How should I prepare in advance?
You can assemble the layers up to one day ahead, cover tightly, refrigerate, and bake when ready.