Cheesy Ham and Potato Casserole
Cheesy Ham and Potato Casserole: The Ultimate Comfort Food Bake
There are some dishes that instantly make a kitchen feel like home, and this cheesy ham and potato casserole is one of them. Picture this: tender slices of potato layered with smoky diced ham, all wrapped in a rich, velvety cheese sauce and baked until the top turns irresistibly golden and bubbly. It is the kind of meal that brings everyone to the table before you even call them, the kind where the dish comes back scraped clean and someone always asks for the recipe.
This casserole is pure comfort food at its finest. It takes humble, everyday ingredients — potatoes, ham, cheese, milk — and transforms them into something far greater than the sum of its parts. Whether you are feeding a hungry family on a busy weeknight, bringing a dish to a potluck, or looking for the perfect way to use up leftover holiday ham, this recipe delivers every single time. It is hearty enough to stand alone as a main course, yet flexible enough to shine as a side dish next to roasted chicken or a fresh green salad.
What makes this version special is the homemade cheese sauce. While many casserole recipes rely on canned condensed soup, we are building our sauce from scratch with butter, flour, milk, and cream. The result is a silkier texture, a cleaner flavor, and none of the excess sodium or preservatives. It takes only about ten extra minutes, and once you taste the difference, you will never go back to the canned stuff.
Why You Will Love This Recipe
- One-dish wonder: Everything bakes together in a single 9×13-inch dish, which means minimal cleanup and maximum flavor.
- Perfect for leftovers: Have holiday ham sitting in the fridge? This casserole was practically invented for it.
- Crowd-pleaser: Kids love the cheesy goodness, adults appreciate the hearty, satisfying flavors. It disappears fast at gatherings.
- Make-ahead friendly: Assemble it the night before, refrigerate, and bake when ready. Ideal for busy schedules and entertaining.
- Freezer-friendly: It freezes beautifully, so you can always have a comforting meal ready to go.
Ingredients
For the casserole
- 2 1/2 pounds russet or Yukon Gold potatoes, peeled and thinly sliced (about 1/8-inch thick)
- 2 cups cooked ham, cut into 1/2-inch cubes
- 2 cups sharp cheddar cheese, freshly shredded and divided
- 1 cup mozzarella or Monterey Jack cheese, shredded
- 1 small yellow onion, finely diced
- 2 cloves garlic, minced
- 2 tablespoons fresh parsley, chopped (plus extra for garnish)
For the homemade cheese sauce
- 4 tablespoons unsalted butter
- 1/4 cup all-purpose flour
- 2 cups whole milk, warmed
- 1 cup heavy cream
- 1 teaspoon salt (adjust to taste, ham is already salty)
- 1/2 teaspoon freshly ground black pepper
- 1/2 teaspoon paprika
- 1/4 teaspoon ground nutmeg (optional, but adds wonderful warmth)
- 1 teaspoon Dijon mustard (optional, deepens the cheese flavor)
A Note on Ingredients
Potatoes: Russet potatoes give you a fluffy, absorbent texture that soaks up the sauce beautifully. Yukon Golds hold their shape a bit better and have a naturally buttery flavor. Either works wonderfully — just slice them evenly so they cook at the same rate. A mandoline slicer is your best friend here.
Ham: Leftover baked ham is ideal, but thick-cut deli ham works in a pinch. Avoid very thin shaved ham, which can disappear into the sauce. Smoked ham adds an extra layer of flavor that is absolutely delicious.
Cheese: Always shred your own cheese when you can. Pre-shredded cheese is coated with anti-caking agents that prevent it from melting as smoothly. Sharp cheddar provides the bold flavor backbone, while mozzarella or Monterey Jack brings that glorious stretchy melt.
Equipment You Will Need
- 9×13-inch glass or ceramic baking dish
- Large saucepan for the cheese sauce
- Mandoline slicer or sharp knife
- Cheese grater
- Aluminum foil
Step-by-Step Instructions
- Step 1: Preheat and prep. Preheat your oven to 375°F (190°C). Lightly grease a 9×13-inch baking dish with butter or nonstick spray. This prevents sticking and helps the edges get beautifully crisp.
- Step 2: Slice the potatoes. Peel the potatoes and slice them into uniform 1/8-inch rounds. Try to keep them as even as possible — this is the secret to every slice cooking through at the same time. If you have a mandoline, now is the time to use it. Place the sliced potatoes in a bowl of cold water for a few minutes to prevent browning while you make the sauce, then drain and pat dry.
- Step 3: Sauté the aromatics. In a large saucepan over medium heat, melt the butter. Add the diced onion and cook for 3 to 4 minutes until softened and translucent. Stir in the minced garlic and cook for another 30 seconds until fragrant.
- Step 4: Make the roux. Sprinkle the flour over the onion mixture and stir constantly for about 2 minutes. This cooks out the raw flour taste and forms the base that will thicken your sauce.
- Step 5: Build the sauce. Slowly pour in the warm milk, whisking constantly to prevent lumps. Warm milk incorporates much more smoothly than cold milk. Once the milk is fully incorporated, pour in the heavy cream. Continue cooking, stirring frequently, for 4 to 5 minutes until the sauce thickens enough to coat the back of a spoon.
- Step 6: Season and cheese it. Remove the saucepan from the heat. Stir in the salt, pepper, paprika, nutmeg, and Dijon mustard if using. Add 1 1/2 cups of the cheddar and all of the mozzarella, stirring until completely melted and smooth. Taste and adjust the seasoning.
- Step 7: Layer the casserole. Spread a thin layer of cheese sauce on the bottom of your prepared baking dish. Arrange one-third of the potato slices in an overlapping layer, then scatter one-third of the diced ham over the top. Spoon one-third of the remaining cheese sauce over everything. Repeat these layers two more times, finishing with a final layer of sauce spread evenly over the top.
- Step 8: Top and bake. Sprinkle the remaining 1/2 cup of cheddar evenly over the top. Cover the dish tightly with aluminum foil and bake for 45 minutes. Then remove the foil and bake for an additional 25 to 30 minutes, until the top is deeply golden brown and bubbly and a knife slides easily through the potatoes.
- Step 9: Rest and serve. Let the casserole rest for 10 to 15 minutes before serving. This allows the sauce to set slightly so you get clean, beautiful slices. Garnish with fresh chopped parsley and serve warm.
Pro Tips for the Perfect Casserole
- Do not skip the rest time. Cutting into the casserole straight from the oven will give you a runny result.
- Slice potatoes evenly. Uneven slices mean some pieces will be mushy while others are still crunchy.
- Warm your milk. Cold milk hitting a hot roux is the number one cause of lumpy sauce.
- Shred your own cheese. It melts far better than the bagged kind.
- Cover then uncover. The foil cover steams the potatoes tender; removing it at the end creates that gorgeous golden crust.
Delicious Variations
- Loaded potato version: Add 6 slices of cooked, crumbled bacon and a dollop of sour cream on each serving.
- Veggie-packed: Stir in steamed broccoli florets or sautéed mushrooms between the layers.
- Spicy kick: Add one diced jalapeño to the onion mixture or a pinch of cayenne to the sauce.
- Different cheeses: Swap the cheddar for Gruyère or smoked Gouda for a more sophisticated flavor profile.
- Turkey instead of ham: Leftover Thanksgiving turkey works beautifully in place of ham.
Make-Ahead, Storage, and Freezing
Make ahead: Assemble the entire casserole up to the baking step, cover tightly and refrigerate for up to 24 hours. When ready to bake, let it sit at room temperature for 30 minutes, then bake as directed, adding 10 to 15 extra minutes to the covered baking time.
Storing leftovers: Transfer cooled leftovers to an airtight container and refrigerate for up to 4 days. Reheat individual portions in the microwave, or warm the whole dish covered in a 350°F oven until heated through.
Freezing: Let it cool completely, then wrap tightly or transfer to freezer-safe containers. Freeze for up to 3 months. Thaw overnight in the refrigerator before reheating.
What to Serve With It
It pairs wonderfully with a crisp green salad dressed with vinaigrette to cut through the richness. Steamed green beans, roasted asparagus, or honey-glazed carrots also make excellent companions. As a side dish, it is phenomenal alongside roasted chicken, grilled pork chops, or a holiday glazed ham.
Frequently Asked Questions
Can I use frozen hash browns instead of fresh potatoes? Yes! Thaw a 30-ounce bag of frozen shredded hash browns and use them in place of the sliced potatoes. Reduce the covered baking time by about 10 minutes.
Why is my sauce lumpy? Lumps usually happen when cold milk meets a hot roux, or when the milk is added too quickly. Add warm milk gradually while whisking constantly.
Can I make this gluten-free? Absolutely. Replace the all-purpose flour with an equal amount of gluten-free flour blend or 2 tablespoons of cornstarch mixed into the cold milk before adding.
How do I know when the potatoes are done? Slide a thin knife into the center of the casserole. If it goes through the potato layers with no resistance, they are perfectly tender.
Nutrition Estimate
Per serving (based on 8 servings): approximately 520 calories, 28g fat, 38g carbohydrates, 24g protein, 890mg sodium. Values are estimates and will vary based on specific ingredients used.
Final Thoughts
This cheesy ham and potato casserole is the kind of recipe that earns a permanent spot in your rotation. It is comforting without being fussy, impressive without being complicated, and practical enough for a Tuesday night yet special enough for a holiday table. Give it a try this week, and do not be surprised when it becomes one of your most requested dishes. Happy cooking!
