Homemade Shepherd’s Pie with Creamy Mashed Potato Topping

Published
Author Sarahi
Read Time 7 min

Okay, so I messed this up at least twice before landing on a version that actually tasted like something worth eating. The first time I made homemade shepherd’s pie, the filling was basically soup swimming under a sad, lumpy potato crust that slid right off. My husband took one bite, smiled politely, and quietly made himself a sandwich. Classic.

But I kept at it. Because honestly? There’s nothing more comforting than a bubbling dish of shepherd’s pie coming out of the oven on a cold evening. And once I figured out the right technique — the right ratio of filling to topping, the right seasoning, the right thickness — it became one of those recipes my family asks for on repeat.

So here goes nothing.

Homemade Shepherd's Pie

What Even Is Homemade Shepherd’s Pie?

Just to clear something up real quick — a real shepherd’s pie uses lamb. If you’re using ground beef, it’s technically a cottage pie. But look, I know most people call the ground beef version shepherd’s pie too, and I’m not here to be the food police. I’ll give you notes for both.

I think I first got obsessed with this dish back when my mom used to make a version of it from scratch — or maybe it was from a Jamie Oliver cookbook I borrowed from a friend and never returned. (Sorry, Kelly.) Either way, this is my version now. Built from scratch, seasoned properly, and genuinely easy enough for a weeknight.

Why This Homemade Shepherd’s Pie Recipe Works

A lot of shepherd’s pie recipes online are just… wrong. They under-season the meat, they skip the Worcestershire sauce (which is basically cheating), or they use instant mashed potatoes for the topping. Please don’t do that.

Here’s what makes this one actually good:

  • The filling is thick, rich, and deeply savory — not watery
  • The mashed potato topping is buttery, creamy, and gets those gorgeous golden ridges on top
  • The seasoning is layered, not just salt-and-pepper-and-call-it-a-day
  • It reheats beautifully (honestly might be better the next day)

Ingredients for Homemade Shepherd’s Pie

For the Filling:

  • 1.5 lbs ground lamb (or ground beef if that’s your thing — no judgment)
  • 1 medium yellow onion, diced
  • 3 cloves garlic, minced (I use 4. Or 5. I have a problem.)
  • 2 medium carrots, diced small
  • 1 cup frozen peas (the easy frozen veg shortcut — 100% acceptable here)
  • 2 tablespoons tomato paste
  • 1 tablespoon Worcestershire sauce
  • 1 cup beef or chicken broth
  • 1 tablespoon flour (to thicken)
  • 1 teaspoon dried thyme
  • 1 teaspoon rosemary
  • Salt and black pepper to taste
  • 2 tablespoons olive oil

For the Creamy Mashed Potato Topping:

  • 2 lbs Russet potatoes, peeled and cubed
  • 4 tablespoons butter (real butter, please)
  • 1/2 cup warm whole milk
  • Salt and pepper
  • Optional: 1/2 cup shredded cheddar cheese for the top (try the shepherd’s pie recipe with cheese version — it’s incredible)

Homemade Shepherd's Pie

How to Make Homemade Shepherd’s Pie from Scratch

Step 1: Make the mashed potatoes first. I know it feels backwards, but trust me. Boil your peeled, cubed potatoes in salted water for about 15-18 minutes until they’re completely fork-tender. Drain them well — and I mean well, let them steam dry for a minute — then mash with butter and warm milk until smooth and creamy. Season generously with salt and pepper. Set aside. The key is—oh wait, I forgot to mention—you need to preheat your oven to 400°F (200°C) before anything else.

Step 2: Cook the meat filling. Heat olive oil in a large oven-safe skillet or deep pan over medium-high heat. Add your diced onion and carrots. Cook for about 5-6 minutes until softened. Add the garlic and cook another minute. Then add the ground lamb (or beef) and break it up with a wooden spoon. Cook until browned all the way through, about 8-10 minutes. Drain excess fat if there’s a lot — a little is fine.

Step 3: Build the flavor. Stir in the tomato paste and cook it for 2 minutes, stirring constantly. This is a step most recipes skip, and it makes a huge difference — it deepens the flavor and gets rid of that raw tomato-paste taste. Then add the Worcestershire sauce, thyme, rosemary, flour, and broth. Stir everything together and let it simmer on medium-low for about 10 minutes until the sauce thickens nicely. It should be thick enough to hold its shape — not soupy. Stir in the frozen peas at the very end (no need to thaw them). Season with salt and plenty of black pepper.

Step 4: Layer and top. Spread the meat filling evenly in your baking dish (if you used a skillet, you can go straight from skillet to oven — one less dish!). Spoon the mashed potatoes on top and spread them out to the edges with a spatula. Then use a fork to drag lines or swirls across the top. This isn’t just for looks — those ridges catch heat and get beautifully golden and slightly crispy. If you’re doing the cheese version, sprinkle shredded cheddar over the top now.

Step 5: Bake. Bake at 400°F for 20-25 minutes until the top is golden and the edges are bubbling. Let it rest for 5-10 minutes before serving. I know waiting is hard. But it will hold together so much better if you give it a few minutes to settle.

Tips for the Best Homemade Shepherd’s Pie

  • Don’t skip Worcestershire sauce. I don’t care what anyone says, this ingredient is essential to the savory depth of the filling.
  • Use Russet potatoes. They mash fluffier than waxy varieties. Yukon Gold also works and gives a slightly richer, buttery result.
  • Frozen peas are completely fine. The shepherd’s pie recipe with easy frozen veg is just as good as fresh. Honestly maybe better because they stay bright green.
  • Make it ahead. Assemble the whole dish, cover it, and refrigerate for up to 2 days before baking. Actually a great make-ahead dinner.
  • The cheese is optional but highly recommended. My kids go absolutely wild for the version with cheddar melted into the potato crust. My 7-year-old, who refuses to eat peas under any other circumstances, eats them without complaint when they’re hidden in this filling. I choose not to question it.

Can You Make This Into a Shepherd’s Pie Soup?

Funny you should ask — yes! I’ve made a shepherd’s pie soup version of this when I wanted something more… slurpable. Just skip the mashed potato topping, double the broth, and serve in bowls with a big hunk of crusty bread. Honestly pretty great on a rainy day.

How to Store and Reheat

Leftovers keep in the fridge for 3-4 days in an airtight container. Reheat in the oven at 350°F for about 15 minutes, or microwave individual portions (cover with a damp paper towel so the potatoes don’t dry out). It reheats really well — I’d say it’s almost better the second day because the flavors have had time to settle together.

Anyway. This homemade shepherd’s pie has officially become one of my most-requested dinners. People keep asking for the recipe, so I guess I did something right.

If you try it, let me know how yours turns out. Did you go lamb or beef? Did you add cheese? Any tweaks you made that worked? Drop it in the comments — I genuinely read them all.

Happy cooking! (And may your smoke alarms stay quiet.)

Homemade Shepherd's Pie with Creamy Mashed Potato Topping

Make the best homemade shepherd's pie from scratch with a rich savory filling and creamy mashed potato topping. Easy, hearty, and perfect for weeknights!

20 min
Prep
45 min
Cook
65 min
Total
6 servings
Servings
480 calories
Calories

Ingredients 0/17

Instructions 0/7

Did you love this recipe?

Share it with your friends & family!

Community

Leave a Comment

Leave a Reply

Your email address will not be published. Required fields are marked *