This Cheesy Ham and Potato Casserole is a warm, comforting dish packed with tender potatoes and savory ham, all slathered in gooey cheese. It’s the perfect meal for chilly nights!
The best part? It’s super easy to whip up! I love tossing it all in one dish and letting the oven do the work. You won’t have leftovers for long—they disappear fast! 🥔🧀
Key Ingredients & Substitutions
Potatoes: I recommend using Russet or Yukon Gold potatoes for their creamy texture. If you’re looking for a lower-carb option, cauliflower can be a great substitute. Just make sure to steam it first to soften it up.
Ham: Diced cooked ham is key for flavor. You can swap it out for leftover roast chicken or even a vegetarian alternative like mushrooms or tofu for a meatless version.
Cheddar Cheese: While sharp cheddar adds a great flavor, feel free to mix it up with Monterey Jack or even a blend of cheeses. If you’re dairy-free, there are plant-based cheeses available in stores.
Onion: The onion adds essential flavor. If you’re not a fan, you might use shallots or skip it altogether. Green onions can also add a nice touch.
Milk: Whole milk makes for a creamy texture, but any milk will work. For a lighter option, consider using almond or oat milk, just ensure they are unsweetened.
How Do You Make a Roux Without Clumps?
Making a roux is a crucial step in thickening your cheese sauce. It may sound tricky, but it’s really about patience. Start by melting butter and adding flour in a saucepan over medium heat.
- Whisk continuously to form a smooth paste (the roux) for about a minute. This helps to cook the flour and prevents a raw taste.
- Gradually whisk in the milk, starting with a small amount to create a smooth mixture. This helps avoid lumps.
- Keep stirring as you add the rest of the milk. Once it thickens, you have a perfect base for your cheese sauce!
Remember, taking your time during this step ensures a creamy and smooth sauce for your casserole.

How to Make Cheesy Ham and Potato Casserole
Ingredients You’ll Need:
For the Casserole:
- 6 cups peeled and thinly sliced potatoes (about 5-6 medium potatoes)
- 2 cups cooked ham, diced
- 1 ½ cups shredded cheddar cheese (divided)
- 1 small onion, finely chopped
For the Sauce:
- 3 tablespoons butter
- 3 tablespoons all-purpose flour
- 2 cups milk (whole milk preferred)
- 1 teaspoon garlic powder
- 1 teaspoon salt (adjust to taste)
- ½ teaspoon black pepper
- ¼ teaspoon smoked paprika (optional)
For Garnish:
- ¼ cup chopped fresh chives or green onions
How Much Time Will You Need?
This delicious casserole will take about 20 minutes to prepare and around 1 hour of cooking time. So, you’re looking at around 1 hour and 20 minutes total from prep to enjoying your warm dish!
Step-by-Step Instructions:
1. Preheat and Prepare:
Start by preheating your oven to 375°F (190°C). While it’s heating, lightly grease a 9×13 inch casserole dish with cooking spray or butter to prevent sticking.
2. Cook the Onions:
In a large saucepan, melt the butter over medium heat. Add the chopped onion and sauté until it looks soft and translucent, which should take about 3-4 minutes. This will add a lovely flavor to your casserole!
3. Make the Roux:
Now, stir in the flour and cook for about 1 minute, stirring constantly. This mixture is called a roux and will help thicken your cheese sauce.
4. Create the Cheese Sauce:
Gradually whisk in the milk, making sure to remove any lumps. Keep stirring until the sauce thickens and starts bubbling gently, which should take about 5-7 minutes. Once thickened, mix in the garlic powder, salt, black pepper, and smoked paprika if you’re using it. Finally, stir in 1 cup of the shredded cheddar cheese until it is melted and smooth. Remove the saucepan from heat.
5. Layer the Casserole:
In the prepared casserole dish, layer half of the sliced potatoes evenly in the bottom. Then, sprinkle half of the diced ham over the potatoes.
6. Assemble with Cheese Sauce:
Pour half of the cheese sauce over the ham and potatoes, spreading it evenly across. Repeat this layering process with the remaining potatoes, ham, and cheese sauce, making sure to finish with the cheese sauce on top.
7. Bake the Casserole:
Sprinkle the remaining ½ cup of shredded cheddar cheese over the top. Cover the casserole dish tightly with aluminum foil and pop it in the preheated oven for 45 minutes. After 45 minutes, carefully remove the foil and bake for an additional 20-25 minutes, or until the potatoes are tender and the top is golden and bubbly.
8. Garnish and Serve:
Once done, take the casserole out of the oven and let it rest for about 5 minutes. Before serving, garnish with freshly chopped chives or green onions to add a pop of color and flavor.
Enjoy your cheesy, comforting ham and potato casserole warm right out of the oven!
Can I Use Different Types of Potatoes?
Absolutely! While Russet or Yukon Gold potatoes are recommended for their creamy texture, you can also use red potatoes or any waxy variety. Just keep in mind that they might not break down as much during cooking!
How Do I Store Leftovers?
Store any leftovers in an airtight container in the refrigerator for up to 3 days. To reheat, simply warm them in the oven or microwave, ensuring even heating for the best taste!
Can I Make This Casserole Ahead of Time?
Yes, you can assemble the casserole a day in advance. Just cover it tightly and refrigerate. When ready to bake, allow it to sit at room temperature for about 30 minutes before putting it in the oven to ensure even cooking.
What Can I Substitute for Ham?
If you’d like to replace the ham, cooked chicken or turkey works great. For a vegetarian option, sautéed mushrooms or a medley of vegetables would be delicious as well!



