Classic Scalloped Potatoes with Ham is a comforting dish that brings together tender, thinly sliced potatoes bathed in a creamy, cheesy sauce, all layered with savory bits of ham. It’s the kind of meal that feels like a warm hug, perfect for family dinners or when you need a little extra comfort on the table.
I love making this dish when I want something that’s both simple and satisfying. The creamy sauce seeps into every slice of potato, and those salty ham pieces add just the right kick without overpowering the mellow flavors. I often sneak in a pinch of nutmeg or a little garlic for a subtle twist that keeps things interesting.
One of my favorite ways to serve it is straight from the oven with a crunchy green salad on the side. It’s great for a cozy night in, and leftovers taste just as good the next day. Honestly, when I make this, it tends to disappear fast, and everyone always asks for seconds—it’s that kind of dish that just brings people together around the table.
Key Ingredients & Substitutions
Potatoes: Yukon Gold are great for creaminess, but Russets work too—they hold shape well and absorb sauce nicely. Try sweet potatoes for a twist if you want a hint of natural sweetness.
Ham: Use diced cooked ham for flavor and saltiness. Leftover ham or holiday ham works perfectly. For a milder taste, substitute with cooked bacon or turkey ham.
Milk or Half-and-Half: Whole milk gives creaminess, but half-and-half or even heavy cream make the dish richer. For a lighter version, mix milk with a bit of sour cream or Greek yogurt.
Cheese: Cheddar adds sharpness; Gruyere adds meltiness and depth. If you don’t have Gruyere, mozzarella or Swiss cheese are good swaps.
How Can I Make the Sauce Thick, Smooth, and Lumpy-Free?
The key is making the roux and adding milk slowly while whisking. Here’s how:
- Melt butter and stir in flour, cooking for 1-2 minutes to remove the raw taste.
- Gradually pour in milk while whisking constantly to avoid lumps.
- Keep stirring on medium heat until sauce thickens (about 5-7 minutes).
- Add cheese off the heat to melt without curdling.
Patience is key here—don’t rush the whisking or the milk addition. A smooth sauce will coat your potatoes perfectly!

Equipment You’ll Need
- 9×13-inch baking dish – I like this size because it holds all the layers evenly and makes serving easy.
- Medium saucepan – perfect for whisking up the cheese sauce and getting it smooth.
- Whisk – essential for preventing lumps and making a silky sauce.
- Chef’s knife and cutting board – for slicing the potatoes evenly so they cook uniformly.
- Aluminum foil – covers the dish to keep the potatoes tender while baking.
Flavor Variations & Add-Ins
- Swap diced ham for cooked bacon or turkey ham for a different smoky or lean flavor.
- Add sautéed onions or garlic to the cheese sauce for extra flavor and aroma.
- Mix in roasted vegetables like broccoli, mushrooms, or peppers for color and extra nutrients.
- Use different cheeses such as mozzarella, Swiss, or pepper jack for a unique twist on flavor and meltiness.
Classic Scalloped Potatoes with Ham
Ingredients You’ll Need:
For the Potatoes and Ham:
- 2 pounds potatoes (Yukon Gold or Russet), peeled and thinly sliced
- 1 cup diced cooked ham
For the Cheese Sauce:
- 3 cups whole milk or half-and-half
- 3 tablespoons unsalted butter
- 3 tablespoons all-purpose flour
- 1 teaspoon salt
- ½ teaspoon black pepper
- ¼ teaspoon garlic powder (optional)
- ¼ teaspoon dried thyme or 1 teaspoon fresh thyme leaves
- 1 ½ cups shredded cheddar cheese (or a mix of cheddar and Gruyere)
- ½ cup grated Parmesan cheese
For Garnish:
- Fresh thyme sprigs (optional)
How Much Time Will You Need?
This dish takes about 20 minutes to prep and assemble, then 65-70 minutes to bake and rest. Total time is roughly 1 hour 30 minutes from start to finish.
Step-by-Step Instructions:
1. Preheat and Prep:
Start by preheating your oven to 350°F (175°C). Lightly grease a 9×13-inch baking dish so the potatoes don’t stick and the cheese can crisp up nicely.
2. Make the Cheese Sauce:
In a medium saucepan, melt the butter over medium heat. Stir in the flour and cook for about 1-2 minutes until bubbly but not browned. This roux thickens the sauce. Gradually whisk in the milk, stirring constantly to avoid lumps. Continue stirring and cook until the sauce thickens, about 5-7 minutes.
Remove from heat. Stir in the salt, pepper, garlic powder (if using), thyme, then half of the cheddar and Parmesan cheese. Mix until the cheese melts and the sauce is nice and smooth.
3. Layer the Dish:
Arrange half of the sliced potatoes evenly in the baking dish. Sprinkle half the diced ham over the potatoes. Pour half of the cheese sauce over this layer. Then, repeat with the remaining potatoes, ham, and cheese sauce.
4. Top and Bake:
Sprinkle the rest of the cheddar and Parmesan cheese on top to create a delicious golden crust. Cover the dish with foil, and bake for about 45 minutes. This helps the potatoes cook through while staying moist.
Then remove the foil and bake an additional 20-25 minutes to brown and bubble the top. If you want a crispier finish, broil for 2-3 minutes—just watch carefully to prevent burning.
5. Rest and Serve:
Let the scalloped potatoes rest for about 10 minutes before serving; this helps the sauce thicken a bit. Garnish with fresh thyme sprigs if you like, and enjoy your creamy, cheesy Classic Scalloped Potatoes with Ham!
Can I Use Frozen Ham for This Recipe?
Yes, you can! Just make sure the ham is fully thawed before adding it to the dish. Thaw it overnight in the fridge or use the defrost setting on your microwave to speed things up.
Can I Prepare This Dish Ahead of Time?
Absolutely! Assemble the scalloped potatoes up to the baking step, cover tightly with foil or plastic wrap, and refrigerate for up to 24 hours. Bake as directed, adding a little extra time if baking from cold.
How Should I Store Leftovers?
Store any leftovers in an airtight container in the fridge for up to 3 days. Reheat gently in the oven or microwave, adding a splash of milk if the sauce has thickened too much.
What Potato Variety Works Best?
Yukon Golds or Russets are ideal because they hold their shape and absorb the creamy sauce well. Avoid waxy potatoes as they can become too soft or gummy when baked.
