This Ham Shepherd’s Pie is a cozy classic that combines tender pieces of ham with creamy mashed potatoes on top. It’s like a warm hug in a dish!
Nothing beats a big scoop of this pie on a chilly day. Plus, it’s a great way to use up leftover ham. Trust me, your taste buds will thank you! 😋
Key Ingredients & Substitutions
Potatoes: Use russet or Yukon Gold potatoes for a creamy mash. If you’re short on time or want something lighter, cauliflower can be a great substitute—just steam and mash it!
Ham: Leftover ham works perfectly here. If you’re avoiding pork, you can substitute with cooked chicken or beef, which will add its own unique flavor.
Ground Beef or Lamb: While this recipe traditionally uses beef or lamb, ground turkey or chicken can lighten the dish. I like the flavor of lamb, but beef is often more accessible.
Vegetables: Peas are optional, but I love adding corn for a sweet touch. You can substitute celery and carrots with any veggies you have on hand, like bell peppers or zucchini.
Cheese: Cheddar is a great choice for a cheesy top. If you’re looking for a stronger flavor, consider Gruyère. For dairy-free options, try vegan cheese shreds.
How Do I Get Creamy Mashed Potatoes?
Creating the perfect mashed potatoes is critical for your Shepherd’s Pie’s topping. Here’s how to make them creamy:
- Begin by boiling the potatoes in salted water. This helps enhance their flavor.
- Once tender, drain them well to avoid excess water. This keeps your mash from getting watery.
- Add warm milk and butter. Warm milk helps in keeping the mash creamy.
- Season with salt and pepper to taste, and mash until smooth—don’t overmix or they can become gluey!
Feel free to add a touch of sour cream or cream cheese for extra richness!

How to Make Ham Shepherd’s Pie
Ingredients You’ll Need:
For the Mashed Potatoes:
- 2 lbs potatoes, peeled and chopped
- 4 tbsp butter
- 1/2 cup milk (warm)
- Salt and pepper to taste
For the Meat Filling:
- 1 tbsp olive oil
- 1 onion, finely chopped
- 2 cloves garlic, minced
- 1 cup diced ham
- 1 lb ground beef or lamb
- 1/2 cup diced carrots
- 1/2 cup diced celery
- 1/2 cup frozen peas (optional)
- 1/2 cup diced tomatoes (canned or fresh)
- 2 tbsp tomato paste
- 1/2 cup beef broth or stock
- 1 tsp Worcestershire sauce
- 1 tsp dried thyme
- 1 tsp dried rosemary, plus extra sprigs for garnish
- 1/2 cup shredded cheddar cheese (optional)
How Much Time Will You Need?
This delicious Ham Shepherd’s Pie will take about 15 minutes to prepare and around 25 minutes to bake, so you can have it on your table in about 40 minutes total. Perfect for a hearty dinner that won’t keep you in the kitchen all evening!
Step-by-Step Instructions:
1. Preheat the Oven:
Start by preheating your oven to 400°F (200°C). This way, it will be nice and hot when your pie is ready to bake!
2. Prepare the Potatoes:
In a large pot, bring salted water to a boil. Add the chopped potatoes and cook them until they’re tender—about 15-20 minutes. Drain the potatoes well after cooking.
3. Make the Mashed Potatoes:
In a bowl, mash the drained potatoes with the 4 tablespoons of butter and the warm milk. Add salt and pepper to taste, mixing until you have a smooth and creamy consistency. Set this aside while you prepare the filling.
4. Sauté the Aromatics:
In a large skillet, heat the olive oil over medium heat. Add the finely chopped onion and minced garlic, cooking them until they’re softened and fragrant, about 3-4 minutes.
5. Cook the Meat:
Add the diced ham and ground beef (or lamb) to the skillet. Cook until the meat is browned, breaking it up with a spoon as it cooks, which should take about 5-7 minutes.
6. Add Vegetables & Seasonings:
Stir in the diced carrots, diced celery, canned or fresh tomatoes, tomato paste, Worcestershire sauce, dried thyme, and dried rosemary. Let this mixture cook for a few minutes until everything is well combined.
7. Simmer:
Pour in the beef broth and let the mixture simmer for about 10 minutes to thicken slightly. Stir in the peas if you’re using them, and adjust the seasoning with salt and pepper to your taste.
8. Assemble the Pie:
Transfer the cooked meat mixture into a cast iron skillet or a baking dish. Then, spread the creamy mashed potatoes evenly over the top. You can use a fork to create some decorative ridges on the surface—this will help it crisp up nicely!
9. Add Cheese and Garnish:
If you’d like a cheesy crust, sprinkle the shredded cheddar cheese on top. Place a few extra sprigs of rosemary for a lovely touch.
10. Bake:
Pop your assembled pie into the preheated oven and bake for about 20-25 minutes, or until the top is golden and slightly crispy.
11. Cool and Serve:
Once it’s done, take the pie out and let it cool for a few minutes before serving. Enjoy your Ham Shepherd’s Pie with family and friends!
Can I Use Different Types of Meat?
Absolutely! While this recipe traditionally uses ham and either ground beef or lamb, you can swap for ground turkey or chicken for a lighter option. Just be sure to adjust the cooking time accordingly.
How Can I Store Leftover Ham Shepherd’s Pie?
Store any leftovers in an airtight container in the refrigerator for up to 3 days. To reheat, warm in the oven at 350°F (175°C) until heated through, or microwave individual portions until hot.
Can I Make This Recipe Vegetarian?
Yes, you can! Substitute the meat with lentils or a mix of your favorite vegetables. You can also use vegetable broth instead of beef broth for the filling.
How Do I Make Creamy Mashed Potatoes?
To achieve creamy mashed potatoes, use russet or Yukon Gold potatoes, mash them while they’re warm, and mix in warm milk and butter. Season generously with salt and pepper for the best flavor!
