clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon
cheesy ham and potato casserole in white dish with serving spoon sitting in it.

Cheesy Ham & Potato Casserole

5 Stars 4 Stars 3 Stars 2 Stars 1 Star 4.9 from 37 reviews
  • Author: Sally
  • Prep Time: 30 minutes
  • Cook Time: 45 minutes
  • Total Time: 1 hour, 15 minutes
  • Yield: serves 10
  • Category: Breakfast
  • Method: Cooking
  • Cuisine: American


This hearty ham and potato casserole is cheesy, flavorful, and satisfying. It’s a delicious way to use leftover ham, and it can do double duty as a brunch recipe or a dinner dish. For other ingredient suggestions, see recipe Notes below.


  • 2 pounds (about 915g) potatoes (I recommend Russet or Yukon Gold)
  • 2 cups (about 300g or 8 ounces) cubed ham
  • 1 and 1/2 cups (150g or 5.25 ounces) shredded sharp white cheddar cheese, divided
  • 3 Tablespoons (43g) unsalted butter
  • 3/4 cup (100g) chopped yellow onion (1/2 of a large onion)
  • 3 garlic cloves, minced
  • 3/4 teaspoon salt
  • 1/2 teaspoon fresh ground pepper
  • 1/2 teaspoon smoked paprika
  • 1/2 teaspoon ground mustard
  • 1 teaspoon dried parsley (or 2 teaspoons fresh chopped parsley)
  • 3 Tablespoons (24g) all-purpose flour
  • 2 cups (480ml) whole milk
  • optional, for garnish: chopped fresh parsley, green onion, chives, or hot sauce


  1. Peel potatoes, cut into 3/4-inch pieces (just eyeball it). You’ll have just over 6 cups chopped potatoes. Cover with water in a medium pot. Bring to boil. Once boiling, boil for just 5–6 minutes. You don’t want the potatoes super soft and tender just yet, only slightly softened. Drain. 
  2. Grease a 9×13-inch or any 3–4-quart oven-safe dish. Add warm drained potatoes, ham, and 1 cup (about 100g) of shredded cheese. Gently toss together. Set aside.
  3. Preheat oven to 375°F (191°C).
  4. Melt the butter in a large skillet or saucepan over medium heat. Add the onion and garlic and cook, stirring occasionally, until onions have softened, about 3 minutes. Stir in salt, pepper, smoked paprika, ground mustard, parsley, and flour until combined and flour has absorbed any liquid. Reduce heat to low, and then slowly stir in the milk. Simmer for 3–5 minutes or until thickened into a gravy consistency. Remove from heat. Taste and, if desired, add more salt, pepper, paprika, mustard, or parsley to taste.
  5. Pour warm sauce over ham and potatoes. Toss gently to coat.
  6. Bake, covered with aluminum foil, for 30 minutes. Remove aluminum foil, sprinkle remaining cheese on top, and return to the oven for 5–10 more minutes or until cheese is melted and casserole is bubbling around the edges.
  7. Remove from the oven and garnish with fresh parsley, green onion, chives, or a drizzle of hot sauce.
  8. Store leftovers in the refrigerator for up to 1 week. Reheat as desired. To reheat the entire casserole, cover with aluminum foil and reheat in a 350°F (177°C) oven for 20 minutes.


  1. Make Ahead Instructions: This is an excellent make-ahead recipe because you can assemble it before baking up to 1 day in advance. Assemble the casserole through step 5. Cover and refrigerate overnight. Remove from the refrigerator, and allow to sit at room temperature for 30 minutes. Continue with step 6, adding an extra 5–10 minutes to the bake time before adding the cheese topping.
  2. Freezing Instructions: To freeze the unbaked casserole, assemble it then cover tightly and freeze for up to 3 months. Thaw at room temperature, then bake as directed. You can also freeze the baked and cooled casserole. Cover tightly and freeze for up to 3 months. Thaw at room temperature, then cover with aluminum foil and reheat in a 350°F (177°C) oven for 20 minutes.
  3. Special Tools (affiliate links): Vegetable Peeler | 9×13-inch Baking Dish or any 3- to 4-quart Oven-Safe Baking Dish | Box Grater
  4. Ham: Instead of ham, feel free to use the same amount of cooked and chopped/crumbled sausage, or about 1 and 1/2 cups chopped/crumbled bacon.
  5. Cheese: Instead of white cheddar, feel free to use regular sharp cheddar cheese, smoked gouda, gruyere, pepper jack, or a mix.
  6. Ground mustard: This is a common ingredient in cheesy and/or brunch dishes; it adds a sharp kick and depth of flavor. I don’t recommend skipping it.
  7. Milk: Whole milk makes the best cream sauce texture, though low-fat, or nondairy milks would work in a pinch. Do not use nonfat milk, and do not use half-and-half because it’s too thick.