Description
You know those dishes that just scream “Sunday dinner at grandma’s house” but somehow taste even better than you remember? This Cheesy Ham Potato Casserole is exactly that vibe. We’re talking layers of tender, creamy potatoes mixed with chunks of smoky ham and absolutely smothered in a rich, cheesy sauce that gets all golden and bubbly on top. It’s like scalloped potatoes and ham got together and decided to be the most comforting thing ever.
This is the kind of casserole that disappears faster than you can say “seconds, please.” It’s hearty enough to be a main dish but also makes the perfect side for holiday spreads. Plus, it’s basically idiot-proof — layer, pour, bake, and watch people lose their minds over how good it is. And let’s be honest, anything that uses a whole bag of cheese and somehow makes it feel justified is a win in my book.
Ingredients
For the Potato Base:
- 3 lbs Yukon Gold potatoes, peeled and sliced thin (about 1/8 inch)
- 2 lbs cooked ham, diced (leftover holiday ham is perfect)
- 1 large onion, thinly sliced
- 2 tbsp butter
- Salt and pepper to taste
For the Cheese Sauce Dream:
- 4 tbsp butter
- 4 tbsp all-purpose flour
- 2 1/2 cups whole milk
- 1 cup heavy cream
- 2 cups shredded sharp cheddar cheese
- 1 cup shredded Gruyère cheese (or Swiss if you can’t find it)
- 1/2 cup grated Parmesan cheese
- 1 tsp garlic powder
- 1/2 tsp smoked paprika
- 1/4 tsp nutmeg (trust me on this one)
- Salt and white pepper to taste
For the Topping:
- 1 cup shredded sharp cheddar cheese
- 1/2 cup panko breadcrumbs
- 2 tbsp butter, melted
- 2 tbsp fresh chives, chopped
- 1/4 tsp smoked paprika
Instructions
Preheat oven to 350°F.
Grease a 9×13 inch baking dish with butter — don’t be shy about it.
Slice those potatoes as evenly as possible. A mandoline slicer is your friend here, but a sharp knife works too.
In a large skillet, melt 2 tbsp butter over medium heat.
Add sliced onions and cook until soft and lightly caramelized, about 8-10 minutes.
Season with salt and pepper, then set aside.
In a large saucepan, melt 4 tbsp butter over medium heat.
Whisk in flour and cook for 1-2 minutes to make a roux — you don’t want it to brown.
Gradually whisk in milk and cream, going slow to avoid lumps.
Cook, stirring constantly, until the sauce thickens enough to coat the back of a spoon (about 5-7 minutes).
Remove from heat and stir in cheddar, Gruyère, and Parmesan until smooth.
Season with garlic powder, smoked paprika, nutmeg, salt, and white pepper.
Layer half the sliced potatoes in your prepared baking dish, overlapping slightly.
Season with salt and pepper.
Spread half the ham and half the sautéed onions over the potatoes.
Pour half the cheese sauce over everything.
Repeat with remaining potatoes, ham, onions, and cheese sauce.
Mix the topping ingredients — cheddar, panko, melted butter, and paprika.
Sprinkle evenly over the top of the casserole.
Cover tightly with foil and bake for 45 minutes.
Remove foil and bake another 30-40 minutes until the top is golden brown and the potatoes are fork-tender.
Let it rest for 10-15 minutes before serving (I know it’s hard, but trust the process).
Notes
Serve alongside a crisp green salad or steamed vegetables to balance all that richness.
Perfect with dinner rolls for soaking up any extra sauce.
Pairs beautifully with a glass of Chardonnay or a light beer.
- Prep Time: 30 minutes
- Cook Time: 1 hour 30 minutes
Nutrition
- Calories: ~420 kcal
- Fat: ~25g
- Carbohydrates: ~32g
- Protein: ~18g