Transform yesterday’s holiday ham into tonight’s family favorite with this leftover ham shepherd’s pie that turns simple ingredients into pure comfort. This twist on the traditional recipe uses creamy mashed potatoes, savory ham pieces, and vegetables in a rich gravy that’s better than the original meal. I’ve made this countless times after Easter and Christmas dinners, and it’s become the dish my family actually looks forward to more than the holiday feast itself.
SERVES: 4 | PREP: 25 MIN | COOK: 35 MIN | TOTAL: 60 MIN
Ingredients
For the Potato Topping
| Ingredient | Amount |
|---|---|
| Russet potatoes | 2 pounds |
| Butter | 4 tablespoons |
| Whole milk | ½ cup |
| Sour cream | ¼ cup |
| Salt | 1 teaspoon |
| Black pepper | ½ teaspoon |
| Shredded cheddar cheese | 1 cup |
For the Ham Filling
| Ingredient | Amount |
|---|---|
| Leftover cooked ham (diced) | 3 cups |
| Butter | 3 tablespoons |
| Yellow onion (diced) | 1 medium |
| Carrots (diced) | 2 medium |
| Celery (diced) | 2 stalks |
| Frozen peas | 1 cup |
| Garlic (minced) | 3 cloves |
| All-purpose flour | ¼ cup |
| Chicken broth | 2 cups |
| Whole milk | ½ cup |
| Dijon mustard | 1 tablespoon |
| Fresh thyme | 1 teaspoon |
| Worcestershire sauce | 1 teaspoon |
| Salt | ½ teaspoon |
| Black pepper | ½ teaspoon |
Step-by-Step Instructions
Phase 1: Preparing the Potato Topping (15 minutes)
Step 1: Peel your russet potatoes and cut them into 1-inch chunks. Keeping them uniform helps everything cook at the same rate, so you won’t end up with some pieces mushy and others still hard.
Step 2: Place the potato chunks in a large pot and cover them with cold water by about 2 inches. Add 1 tablespoon of salt to the water. Starting with cold water instead of boiling helps the potatoes cook evenly from the outside in.
Step 3: Bring the pot to a boil over high heat, then reduce to medium-high and cook for 12-15 minutes. You’ll know they’re ready when a fork slides through the largest piece with no resistance. If you feel any firmness in the center, keep cooking.
Step 4: Drain the potatoes in a colander and let them sit for 2 minutes to steam off excess moisture. This step matters because wet potatoes make gluey mashed potatoes, and nobody wants that on their leftover ham shepherd’s pie.
Step 5: Return the drained potatoes to the hot pot and add 4 tablespoons of butter, ½ cup of warm milk, and ¼ cup of sour cream. Mash until smooth but don’t overmix. Stop when you no longer see chunks. Over-mashing releases too much starch and creates a gummy texture.
Step 6: Stir in ½ cup of the shredded cheddar cheese, 1 teaspoon of salt, and ½ teaspoon of black pepper. Taste and adjust seasoning if needed. Set aside while you make the filling. The potatoes will stay warm enough in the covered pot.
Phase 2: Creating the Ham Filling (20 minutes)
Step 7: Dice your leftover ham into ½-inch pieces. This size is perfect because it’s small enough to distribute evenly but large enough that you get a good ham flavor in every bite. You should have about 3 cups of diced ham.
Step 8: Melt 3 tablespoons of butter in a large oven-safe skillet (or a 9×13-inch baking dish that can go on the stovetop) over medium heat. The butter should bubble gently but not brown.
Step 9: Add your diced onion, carrots, and celery to the melted butter. Cook for 6-7 minutes, stirring occasionally, until the onions turn translucent and the carrots start to soften. You’ll smell the sweetness of the onions when they’re ready.
Step 10: Stir in the minced garlic and cook for 1 minute until fragrant. Watch carefully during this minute because garlic goes from perfect to burnt very quickly. If it starts to brown, remove the pan from heat immediately.
Step 11: Sprinkle ¼ cup of flour over the vegetables and stir constantly for 2 minutes. This cooks out the raw flour taste and creates a roux that will thicken your gravy. The mixture should look paste-like and coat the vegetables.
Step 12: Slowly pour in 2 cups of chicken broth while stirring constantly to prevent lumps. Start with just a splash, stir until smooth, then add more. This gradual method keeps your gravy silky instead of lumpy.
Step 13: Add ½ cup of milk, 1 tablespoon of Dijon mustard, 1 teaspoon of fresh thyme, 1 teaspoon of Worcestershire sauce, ½ teaspoon of salt, and ½ teaspoon of black pepper. Stir everything together and bring to a simmer.
Step 14: Let the mixture simmer for 3-4 minutes until it thickens to a gravy consistency. It should coat the back of a spoon but still pour easily. If it gets too thick, add a splash more broth.
Step 15: Stir in your diced ham and 1 cup of frozen peas. The peas don’t need to be thawed. Cook for 2 minutes just to warm everything through. Remove from heat.
Phase 3: Assembly and Baking (15 minutes)
Step 16: Preheat your oven to 400°F while you assemble everything. If your skillet isn’t oven-safe, transfer the ham mixture to a greased 9×13-inch baking dish now.
Step 17: Spread the mashed potato mixture evenly over the ham filling. I like to dollop it in spoonfuls first, then gently spread it to the edges. This prevents you from dragging ham mixture up into the potatoes.
Step 18: Use a fork to create ridges and peaks across the potato surface. These textured areas will brown beautifully and get crispy, giving you the best parts to fight over at the table. Sprinkle the remaining ½ cup of cheddar cheese over the top.
Step 19: Place the dish on a baking sheet to catch any drips and bake for 30-35 minutes. You’re looking for the edges to bubble vigorously and the potato peaks to turn golden brown. The cheese should be melted and starting to brown in spots.
Step 20: Remove from the oven and let it rest for 5-10 minutes before serving. This resting time lets the filling set up so it doesn’t run all over the plate when you scoop it. The potatoes will stay hot during this time, so don’t worry.
Chef’s Notes
Ham Selection Matters: The best ham for this leftover ham shepherd’s pie is a bone-in holiday ham with some glaze still on it. That sweetness balances the savory gravy perfectly. Avoid deli ham or super salty ham because it’ll make the whole dish too salty.
Potato Perfection: Using russet potatoes instead of Yukon golds gives you fluffier, lighter mashed potatoes that don’t get heavy and dense when baked. The starch content in russets creates that perfect cloud-like topping everyone loves.
Make-Ahead Magic: You can assemble this completely and refrigerate it up to 24 hours before baking. Just add 10 extra minutes to the baking time if you’re starting from cold. Cover with foil for the first 20 minutes, then uncover to brown.
Gravy Thickness Control: If your filling seems too thin before baking, simmer it an extra 2-3 minutes. If it’s too thick, whisk in a bit more broth. Remember it will thicken slightly as it bakes, so aim for slightly thinner than you want the final result.
Nutrition Information (Per Serving)
Calories: 645 | Protein: 38g | Carbohydrates: 52g | Fat: 31g | Fiber: 5g | Sugar: 8g | Sodium: 1,850mg
Delicious Variations
Breakfast Shepherd’s Pie: Swap the regular filling for this leftover ham egg bake style mixture with scrambled eggs, cheese, and peppers under the same potato topping. Bake at 350°F for 25 minutes for a brunch showstopper.
Cajun Comfort: Add 1 teaspoon of Cajun seasoning and ½ teaspoon of cayenne pepper to the filling for a spicy kick. Top with pepper jack cheese instead of cheddar. If you love bold flavors, try pairing this with my leftover ham gumbo for a Louisiana-themed dinner week.
Sweet Potato Twist: Replace half the russet potatoes with sweet potatoes for a subtly sweet topping that complements the ham beautifully. Add a pinch of cinnamon and nutmeg to the mash for extra warmth.
Garden Vegetable Version: Add 1 cup of diced zucchini and 1 cup of corn kernels to the filling along with the peas. Use vegetable broth instead of chicken broth for a lighter flavor profile.
Storage & Reheating
Refrigerator Storage: Cover leftover shepherd’s pie tightly with plastic wrap or transfer to an airtight container. It keeps for 3-4 days in the fridge. The flavors actually get better on day two as everything melds together.
Freezer Storage: This freezes beautifully for up to 3 months. Cool completely before wrapping tightly in plastic wrap, then aluminum foil. Label with the date and baking instructions. Thaw overnight in the refrigerator before reheating.
Reheating Individual Portions: Microwave single servings on medium power for 2-3 minutes, checking every minute. Add a splash of milk if the potatoes seem dry. For crispier potatoes, finish under the broiler for 1-2 minutes.
Reheating Whole Dish: Cover with foil and bake at 350°F for 25-30 minutes until heated through. Remove the foil for the last 10 minutes to re-crisp the top. The center should reach 165°F on an instant-read thermometer.
Troubleshooting Common Problems
Problem 1: Watery Filling Your filling is too thin and makes the bottom potatoes soggy. This happens when you don’t cook the roux long enough or add too much liquid. Solution: Always simmer the filling until it coats the back of a spoon before adding the ham. If it’s already assembled, bake uncovered for an extra 10 minutes to evaporate excess moisture.
Problem 2: Gluey Potatoes The potato topping turned out sticky and paste-like instead of fluffy. This results from over-mashing or using waxy potatoes. Solution: Use russet potatoes only and stop mashing the moment you don’t see chunks. Never use a food processor or immersion blender on potatoes. If it’s already gluey, stir in 2-3 tablespoons of warm cream to loosen it.
Problem 3: Burnt Top with Cold Center The potato peaks burned but the filling underneath is still cold. Solution: Cover the dish with foil after 20 minutes of baking and continue until the center is hot. An oven thermometer helps ensure your oven isn’t running too hot. Next time, start at 375°F instead of 400°F.
Problem 4: Bland Flavor The shepherd’s pie tastes flat and boring. Ham varies in saltiness, and sometimes the filling needs more seasoning. Solution: Always taste your filling before adding the potatoes. Add more Dijon mustard, Worcestershire sauce, or salt as needed. A squeeze of fresh lemon juice brightens everything up surprisingly well.
Problem 5: Separated Potatoes and Filling When you scoop a serving, the potatoes slide off the filling instead of sticking together. Solution: Make sure both components are hot when you assemble them. Press the potato layer down gently but firmly. Don’t smooth it too much with a spatula; use a spoon to dollop it on instead, which creates better adhesion.
Equipment Essentials

- Large pot (6-quart minimum) for boiling potatoes
- Potato masher or ricer for smooth potatoes
- Large oven-safe skillet (12-inch) OR 9×13-inch baking dish
- Wooden spoon for stirring the filling
- Cutting board and sharp chef’s knife
- Measuring cups and spoons
- Baking sheet to catch drips
- Fork for creating texture on potato topping
- Instant-read thermometer (optional but helpful)
- Colander for draining potatoes
Shopping List by Section
Produce Department
- Russet potatoes (2 pounds)
- Yellow onion (1 medium)
- Carrots (2 medium)
- Celery (2 stalks)
- Garlic (1 bulb)
- Fresh thyme (1 small bunch)
Meat Department
- Leftover cooked ham (approximately 1 pound for 3 cups diced)
Dairy Section
- Butter (1 stick plus extra)
- Whole milk (1 quart)
- Sour cream (1 small container)
- Shredded cheddar cheese (8 ounces)
Pantry/Dry Goods
- All-purpose flour
- Salt
- Black pepper
Frozen Foods
- Frozen peas (1 bag)
Condiments/Sauces
- Chicken broth (1 carton)
- Dijon mustard
- Worcestershire sauce
Success Secrets
1. Temperature Matching: Keep your filling hot when you top it with hot potatoes. Cold filling under hot potatoes creates condensation that makes everything soggy and prevents proper binding.
2. The Fork Trick: Those ridges you create with a fork aren’t just pretty. They increase surface area, which means more crispy brown bits. Drag the fork in different directions to create peaks and valleys.
3. Cheese Strategy: Mixing half the cheese into the potatoes and saving half for the top gives you cheesy flavor throughout plus that gorgeous golden crust everyone fights over.
4. Resting Time Isn’t Optional: That 5-10 minute rest after baking lets the starches in the potatoes reabsorb moisture and the filling to set. Skip this and you’ll have soup on your plate.
5. Pan Size Matters: A wider, shallower dish gives you more crispy edges and top surface. A deeper dish is fine but you’ll have less of those coveted crispy bits. For maximum crust, use a 9×13-inch pan instead of a deep casserole dish.
This leftover ham shepherd’s pie turns ho-hum leftovers into a meal that rivals the original feast. The creamy potatoes, savory ham, and vegetables in rich gravy create comfort food magic that’s perfect for busy weeknights or casual weekend dinners.



