When I need to use leftover ham, this Ham and Potato Casserole recipe is cheesy, creamy, and super delicious! I make this dish throughout the year, from weeknight dinners to holiday feasts, or even for a hearty breakfast. My kids gobble this up every time it hits the table.
This post may include affiliate links that earn us a small commission from your purchases at no extra cost to you.
What’s in This Ham and Potato Casserole Recipe?
The ingredients in this casserole are ones that my kids love eating every time. I love when a recipe is a hit for the entire family.
- Unsalted Butter: Helps cook the onions and combines with the flour to thicken the casserole.
- Yellow Onion: Adds an earthy and sweet flavor.
- All-Purpose Flour: Reacts with the butter to create a thick sauce.
- Whole Milk: Thickens and enriches the casserole.
- Chicken Stock: Adds moisture to the casserole. You can use chicken broth if you prefer.
- Salt + Pepper: Enhance the overall flavor of the casserole.
- Garlic Powder: Adds an earthy, umami flavor to the casserole.
- Russet Potatoes: These starchy potatoes are ideal for baking.
- Cooked Ham: This recipe is perfect to use up leftover holiday ham!
- White Cheddar Cheese: Freshly shredded cheese melts better than the pre-shredded kind.
Notes from the Test Kitchen
To prepare this casserole ahead of time, I follow the recipe through step 4, then cover and refrigerate overnight. The next day, I let the casserole warm up to room temperature while the oven preheats, then proceed with the recipe as written from step 5. I sometimes need to add a few extra minutes to the final bake time if the casserole is still cold when it goes into the oven.
Variations
Feel free to make simple ingredient swaps or add a few more things to this ham casserole recipe. Here are some easy swaps I have loved.
- Spicy: I mix in chili powder and/or red pepper flakes with the other spices. I sprinkle pepper jack cheese on top. I’ve even mixed in green chiles to really spice things up.
- Protein Swap: I use pre-cooked turkey or chicken instead of ham. Easy and delish!
- Load it Up: I mix in bacon crumbles, sliced jalapeños, broccoli bits, and peppers. It would also taste great served with a dollop of sour cream on top! I want you to feel free to make it your own.
Serving Suggestions
This dish can be served as a simple dinner, a side dish, or even for breakfast or brunch. It’s truly one of the most versatile recipes.
- For dinner, just add some dinner rolls or cornbread.
- As a side dish, this goes well with anything from air-fried chicken to breaded pork chops.
- For breakfast, cook up some oven-baked bacon, home fries, and eggs in any style.
Ham and Potato Casserole Recipe
Equipment
Ingredients
- 2 tablespoons unsalted butter (¼ stick)
- 1 yellow onion finely diced
- 3 tablespoons all-purpose flour
- 1¼ cups whole milk or half-and-half
- ½ cup chicken stock or chicken broth
- ½ teaspoon fine sea salt
- ½ teaspoon ground black pepper
- ½ teaspoon garlic powder
- 2 pounds russet potatoes peeled and diced small
- 2½ cups diced cooked ham
- 4 ounces freshly shredded white cheddar cheese (about 1 cup)
Instructions
- Preheat the oven to 400°F. Grease a 9×13 inch baking dish with butter or non-stick cooking spray. Set aside.
- In a medium saucepan melt the butter. Add the diced onion and cook over medium heat until translucent.2 tablespoons unsalted butter, 1 yellow onion
- Sprinkle the flour over the cooked onion and stir to combine. Add in the milk, chicken stock, sea salt, black pepper, and garlic powder. Continue to heat, stirring often, until warmed through and slightly thickened.3 tablespoons all-purpose flour, 1¼ cups whole milk, ½ cup chicken stock, ½ teaspoon fine sea salt, ½ teaspoon ground black pepper, ½ teaspoon garlic powder
- Spread the potatoes evenly in the bottom of the prepared baking dish and top with the diced ham. Pour the milk mixture over the ham and potatoes.2 pounds russet potatoes, 2½ cups diced cooked ham
- Cover and bake for 40-45 minutes.
- Remove from oven and top with shredded cheese. Continue to bake, uncovered for an additional 10-15 minutes or until the cheese is completely melted and potatoes are tender.4 ounces freshly shredded white cheddar cheese
Video
Becky’s Tips
- Make Ahead Instructions:
- Follow the recipe through step 4.
- Cover and refrigerate overnight.
- When you are ready to bake, remove the casserole from the fridge, and let it warm up at room temperature while the oven preheats.
- Proceed with the recipe as written, from step 5.
- Note: You may need to add a few extra minutes of baking time if your casserole is still cold when it goes in the oven.
Nutrition information is automatically calculated, so should only be used as an approximation.
How to Make Ham and Potato Casserole Step by Step
Sauté the Onions: Preheat the oven to 400°F. Grease a 9×13-inch baking dish with butter or nonstick spray and set aside. In a medium saucepan melt 2 tablespoons of unsalted butter. Add 1 diced yellow onion and cook over medium heat until translucent.
Make the Sauce: Sprinkle 3 tablespoons of all-purpose flour over the cooked onion and stir to combine. Add in 1¼ cups of whole milk, ½ cup of chicken stock, ½ teaspoon of fine sea salt, ½ teaspoon of ground black pepper, and ½ teaspoon of garlic powder. Continue to heat, stirring often, until warmed through and slightly thickened.
Assemble and Bake: Spread 2 pounds of peeled and diced russet potatoes evenly in the bottom of the prepared baking dish and top with 2½ cups of diced ham. Pour the milk mixture over the ham and potatoes. Cover and bake for 40-45 minutes.
Melt the Cheese: Remove from oven and top with 4 ounces of shredded white cheddar cheese. Continue to bake, uncovered for an additional 10-15 minutes or until the cheese is completely melted and the potatoes are tender.
How to Store and Reheat
Store leftover ham and potato casserole in an airtight container, or cover the casserole dish with plastic wrap. Keep in the refrigerator up to 4 days.
To reheat any leftovers, place an individual portion in a microwave-safe dish. Heat on 50% power for 1-2 minutes at a time until heated through. Stir well at least once during heating.
To reheat a larger portion, warm the casserole in the oven at 350°F for about 20 minutes or until warmed through.
How to Freeze
Let the casserole cool to room temperature, then cover the dish tightly with plastic wrap and/or aluminum foil. You can also scoop it into a freezer-safe bag. Freeze up to 3 months, then thaw in the fridge before reheating.
Make sure you are using cooked ham in this recipe. Use leftover ham, pre-cooked ham, or cook your own ham for this casserole. You can easily find cooked hams at the grocery store or deli.
There’s no need to par-boil the potatoes, as they’ll cook through fully in the oven.
Super sad. The sauce tastes great but even with the potatoes cut small it have been in the oven for over an hour and a half and most of the potatoes as still raw. Not sure what is going on here.
We would recommend checking your oven temperature with a thermometer! Oven temperature can vary by quite a lot!
Same with me. Ended up baking 1/2 hour longer but turned out real good overall.
I made this tonight with leftover ham from an early Christmas celebration. Turned out great! I did not believe that the potatoes would actually be tender after 45 min but they were—I used Yukon Gold, turned out really nice! I did, however, fix about half again as much sauce (from a review I saw) and it was not too much at all. Will make again–by popular demand!
I made this last night and it was a hit with adults and children alike! I even added a can of green beans (drained) because sometimes it’s just easier to hide them than listen to the whining.
Haven’t made yet but like the idea u registered the ingredients as u r doing that dtep..Sheila
We’ve found that feature super helpful! We’re so glad you do as well!!
I followed your recipe but added a little more milk and broth, just a little. I melted cheese whiz in the sauce to taste and desired consistency. It was fabulous
Sounds delicious, Shelley!
Delicious!
Will definitely make again!
Just made this and it’s baking in the oven. I made double the sauce because of the extra potatoes and ham and I also added a bag of frozen mixed veggies….it’s going to be amazing!!
Let us know how it goes, Sarah!
Looking to meal prep & freeze this! It looks so delicious’
Let us know how it goes!
Great recipe but ridiculously hard to cooy and past because of all the adds in between the instructions.
There is a print option in the recipe card!
Freaking yummy!!!!!will be adding this to my weekly dinner
Looks amazing!!