Creamy Cheesy Ham and Potato Casserole

Make a comforting, family-friendly dinner tonight with this cheesy ham and potato casserole. This hearty casserole is an excellent way to use leftover holiday ham and comes together with minimal prep—perfect for busy weeknights or a relaxed Sunday supper.

With just a few pantry staples and a simple homemade cheese sauce, this easy casserole recipe delivers big flavor and satisfying portions. It’s a crowd-pleaser that reheats well, making it a smart choice when you want leftovers that taste almost as good the next day.

Ham and potato casserole served on a white plate.

Ingredient Notes

See the printable recipe card below for exact measurements and complete step-by-step instructions.

Ingredients to make cheesy ham and potato casserole set out on the counter.

This casserole is built from three main elements: potatoes, diced ham, and a rich homemade cheese sauce. A few tips for the best results:

  • Butter – Use real butter for better flavor and texture in the sauce.
  • Onion – A small yellow onion, finely diced, adds sweetness and depth.
  • Flour – All-purpose flour thickens the cheese sauce into a smooth gravy.
  • Chicken broth – Reduced-sodium works well so the casserole isn’t overly salty.
  • Milk – Whole milk creates a creamier sauce; 2% can be used as a lighter alternative.
  • Sharp cheddar cheese – Sharp cheddar gives bold flavor; mild or cheddar-jack are fine substitutions.
  • Potatoes – Dice potatoes uniformly so they cook evenly. You may peel or leave skins on according to preference.
  • Diced ham – Leftover holiday ham or store-bought diced ham both work well.
  • Salt and pepper – Season to taste, keeping in mind the ham and cheese contribute saltiness.

How To Make Cheesy Ham and Potato Casserole

This casserole is made by layering potatoes and ham, then pouring a creamy cheese sauce over the top. Follow these steps for a reliable, delicious result.

Begin by prepping your ingredients: peel (if desired) and dice the potatoes into even pieces, and dice the ham if it isn’t already cubed.

Diced potatoes in a casserole dish.
Diced ham layered over diced potatoes in the casserole dish.

Layer half the potatoes in a greased 9×13-inch baking dish and top with half the diced ham. Season with salt and pepper, then repeat with the remaining potatoes and ham. Set the assembled pan aside while you make the cheese sauce.

Butter and onion in a saucepan.
Flour is added to butter and onion in a saucepan.

To make the sauce, melt the butter in a medium saucepan over medium heat. Add the diced onion and cook about 5 minutes, until the onion is tender. Stir in the flour and cook for a couple of minutes, allowing it to lightly brown.

Chicken broth and milk are added to the ingredients in the saucepan.
Shredded cheese added to ingredients in the saucepan.

Slowly whisk in the chicken broth and milk, then continue whisking over medium heat until the sauce is smooth and thickened, about 5–10 minutes. Remove from the heat and stir in 1½ cups of shredded cheddar until melted. Taste and season with salt and pepper as needed.

Cheese sauce is poured over the ham and potatoes in the casserole dish.
Shredded cheese sprinkled over top of ham and potato casserole.

Pour the cheese sauce evenly over the layered potatoes and ham, smoothing it with the back of a spoon so everything is coated. Sprinkle the remaining cheese over the top and cover the dish with foil.

Bake in a preheated 400°F oven for 45–50 minutes covered, then remove the foil and bake an additional 10–20 minutes until the potatoes are tender and the top is golden and bubbly. Let rest a few minutes before serving.

Baked ham and potato casserole in casserole dish.

Casserole Variations

  • Frozen diced potatoes – Use thawed frozen diced potatoes to skip peeling and chopping. Bake uncovered and check for tenderness; timing will vary.
  • Par-cook the potatoes – Boil diced potatoes until just fork-tender to shorten oven time. If pre-cooked, bake uncovered for about 30 minutes to meld flavors and melt the cheese.
  • Add vegetables – Stir in vegetables like peas, green beans, corn, or broccoli for a one-pan meal that’s more balanced.

How To Store and Reheat

This casserole yields about six hearty servings. Store leftovers in an airtight container in the refrigerator for 3–4 days. Reheat portions in a 350°F oven until warmed through, or use the microwave for faster reheating.

This cheesy ham and potato casserole is a comforting staple that works well for family dinners, potlucks, or meal prep. The simple layers and creamy cheese sauce deliver classic flavors everyone will enjoy.

Cheesy Ham And Potato Casserole Recipe

Prep Time: 15 mins • Total Time: 1 hr 30 mins • Servings: 6 • Calories: 573 kcal

Ingredients

  • ¼ cup butter
  • 1 small onion, finely chopped
  • ¼ cup all-purpose flour
  • 1 cup chicken broth (reduced-sodium if preferred)
  • 2 cups milk (whole milk recommended)
  • 2½ cups sharp cheddar cheese, divided
  • 3 pounds potatoes, peeled and diced
  • 12 ounces diced ham
  • Salt and pepper, to taste

Instructions

  1. Preheat the oven to 400°F and grease a 9×13-inch baking dish with nonstick spray.
  2. Arrange half the diced potatoes in the prepared dish and top with half the ham. Season with salt and pepper. Repeat with the remaining potatoes and ham.
  3. In a medium saucepan, melt the butter over medium heat. Add the chopped onion and sauté until tender, about 5 minutes.
  4. Stir in the flour and cook a couple of minutes, letting it brown lightly.
  5. Whisk in the chicken broth and milk until smooth. Simmer and whisk frequently until the sauce thickens, about 5–10 minutes. Season with salt and pepper.
  6. Remove from heat and stir in 1½ cups of the shredded cheese until melted.
  7. Pour the cheese sauce over the layered potatoes and ham, making sure everything is evenly coated. Sprinkle the remaining 1 cup of cheese over the top.
  8. Cover the pan with foil and bake for 45–50 minutes. Remove the foil and bake an additional 10–20 minutes until bubbly and golden. Let rest briefly before serving.

Notes

  • If you want to reduce bake time, boil potatoes until fork-tender before assembling; then bake uncovered about 30 minutes.
  • Store leftovers in an airtight container in the refrigerator for 3–4 days. Reheat in a 350°F oven or microwave.

Nutrition (per serving)

Calories: 573 kcal • Carbohydrates: 51 g • Protein: 29 g • Fat: 29 g • Saturated Fat: 15 g • Sodium: 1299 mg • Fiber: 5 g