Ham and Potato Casserole

published Nov 10, 2021
Ham and Potato Casserole Recipe

This rich combination of ham and potatoes in a creamy cheese sauce is comfort food in a casserole dish.


Prep25 minutes

Cook1 hour 15 minutes to 1 hour 30 minutes

Jump to Recipe
We independently select these products—if you buy from one of our links, we may earn a commission. All prices were accurate at the time of publishing.
ham and potato casserole in an oval serving dish on a pink background
Credit: Photo: Eric Kleinberg; Food Stylist: Kristina Vanni

You can never go wrong with the comforting combination of ham, cheese, and potatoes — especially in the winter when you want something hot and cozy to eat. Here, russet potatoes and diced ham bake away in a mild cheddar cheese sauce until the potatoes are tender and every scoop is creamy and delicious. While it’s a crowd-pleasing side dish, ham and potato casserole can be a meal on its own when paired with a crisp green salad.

Whether you make this casserole with leftover holiday ham or grab a thick slice of deli ham from the store, I promise it won’t disappoint. Here’s everything you need to know.

Credit: Photo: Eric Kleinberg; Food Stylist: Kristina Vanni

3 Tips for the Best Ham and Potato Casserole

One of my favorite dishes is scalloped potatoes, and this is pretty much the same thing with the addition of ham and sautéed onions. Many recipes use condensed cream soups, but I like to use a simple white sauce (béchamel) base instead and enrich it with cheese. Here are a couple of things to keep in mind when making the casserole.

  • Make sure the baking dish is large enough. This casserole fills a 2-quart baking dish nicely. I found out the hard way that my 8-inch square baking dish, which I thought held 2 quarts, actually held less because it wasn’t 2 inches high. If you’re not sure, measure how much water can fit in the baking dish before you grease it.
  • Mix, don’t layer. I initially tried to just pour the cheese sauce directly into the baking dish over the potato cubes and ham, but it didn’t bake up evenly. Stir everything together before you transfer it to the baking dish.
  • Sprinkle with cheese after baking. I tested sprinkling the cheese on top right before baking, but it separated and got greasy during the long bake time. Instead, sprinkle the cheese on when the casserole is done and let the broiler make quick work of melting and browning it.

Can I Make Ham and Potato Casserole in Advance?

Yes! You can bake the casserole up to two days in advance. Let it cool, cover, and refrigerate until ready to reheat. It will take about 45 minutes to reheat in a 325ºF oven because it’s pretty dense, so make sure to allocate enough time.

Another way to save on prep time is to make the cheese sauce a few days ahead, then rewarm before stirring into the potatoes and ham and baking.

What Should I Serve with Ham and Potato Casserole? 

I love serving the casserole with something tart and refreshing, like a salad dressed in vinaigrette, but some steamed broccoli or roasted asparagus would also be lovely to complete the meal.

How to Store Ham and Potato Casserole 

Cover the casserole dish tightly with aluminum foil, or transfer the casserole to an airtight container and refrigerate for up to 4 days.

Ham and Potato Casserole Recipe

This rich combination of ham and potatoes in a creamy cheese sauce is comfort food in a casserole dish.

Prep time 25 minutes

Cook time 1 hour 15 minutes to 1 hour 30 minutes

Serves 6

Nutritional Info


  • Cooking spray or butter, for coating the pan

  • 2 pounds

    russet potatoes (about 4 medium)

  • 1 cup

    diced, cooked ham (about 5 1/2 ounces)

  • 1/2

    medium yellow onion

  • 8 ounces

    sharp cheddar cheese, shredded (about 2 cups)

  • 2 tablespoons

    unsalted butter

  • 2 tablespoons

    all-purpose flour

  • 2 cups

    whole or 2% milk

  • 1 teaspoon

    kosher salt, plus more as needed

  • 1/8 teaspoon

    freshly ground black pepper


  1. Arrange a rack in the top third of the oven and heat the oven to 350°F. Coat a 2-quart baking dish (such as an 8x8x2-inch) with cooking spray or butter.

  2. Peel and cut 2 pounds russet potatoes into 1/2-inch cubes (about 5 1/2 cups). Place in a large bowl and add 1 cup diced ham. Dice 1/2 medium yellow onion. Grate 8 ounces sharp cheddar cheese on the large holes of a box grater (about 2 cups).

  3. Melt 2 tablespoons unsalted butter in a medium saucepan over medium heat. Add the onion and sauté until softened, about 5 minutes. Sprinkle with 2 tablespoons all-purpose flour and cook, stirring constantly, for 1 minute. Add 2 cups whole or 2% milk, 1 teaspoon kosher salt, and 1/8 teaspoon black pepper, and stir until the flour is dissolved. Bring to a simmer, stirring often. Simmer until thickened to the consistency of cream sauce, 2 to 3 minutes more. Add 1 1/2 cups of the cheese and stir until completely melted. Taste and season with more kosher salt as needed.

  4. Pour over the potato and ham and stir to combine. Transfer to the baking dish and spread into an even layer.

  5. Bake until the potatoes in the center of the baking dish are knife tender, 1 hour and 15 minutes to 1 1/2 hours. Sprinkle the remaining 1/2 cup cheese over the casserole. Turn the oven on to broil and broil until the cheese on top is melted and browned in spots, 2 to 3 minutes. Let cool 10 minutes for the sauce to thicken before serving.

Recipe Notes

Make ahead: The sauce can be made up to 2 days ahead and refrigerated in an airtight container. Reheat over low heat until steaming before proceeding with the recipe.

Alternatively, the baked casserole can be made up to 2 days ahead, cooled completely, and refrigerated. Reheat uncovered in a 325ºF oven until warmed through, about 45 minutes.

Storage: Leftovers can be refrigerated in an airtight container for up to 4 days.