Shepherd’s Pie

Shepherd’s Pie is cozy comfort food at its best. This version is made with savory ground beef filling with vegetables and topped with creamy homemade mashed potatoes.

shepherd's pie in a cast iron skillet.

I believe the best dishes start with love, and this shepherd’s pie recipe has it in spades. The savory beef filling and decadent mashed potatoes are best served when the weather’s cold and you want a stick-to-your-ribs comfort food dinner.

ingredients for shepherd's pie.

Technically, if we want to be picky about these things, a traditional shepherd’s pie is made with ground lamb, but where I’m from (oh, hi, Wyoming!), everyone calls a savory beef and veggie filling topped with mashed potatoes shepherd’s pie, so I’m sticking with it. If you’re across the pond, it’s known as cottage pie.

No matter what you call it, it’s delicious. It’s a complete meal in a skillet, the leftovers are as good as when it’s first made, and nostalgia is in every bite.

a serving on a plate.

More Ground Beef Recipes

Slow Cooker Chili | Easy Meatballs | Cheesy Beef Enchiladas | One Pan Beef Penne

How to Make It

When I make shepherd’s pie, I like to use a cast iron skillet to make the meat filling and a separate pot to boil and mash the potatoes. Spread the potatoes over the filling, and the skillet goes right in the oven. If you don’t have an oven-safe skillet, assemble it in a baking dish instead.


Shepherd’s Pie

the shepherd's pie ready to serve.

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

5 from 10 reviews

Traditional shepherd’s pie is made with lamb, but this version uses ground beef. It’s classic comfort food and a favorite cold-weather dinner. This recipe feeds four people with some leftovers but can stretch to feed six if you have a salad, bread, or cooked veggies on the side.

  • Author: April Anderson
  • Prep Time: 30 minutes
  • Cook Time: 30 minutes
  • Total Time: 1 hour
  • Yield: 4 servings 1x
  • Category: Dinner
  • Method: Saute
  • Cuisine: American


  • 4 medium russet potatoes, peeled and cut into 2 inch chunks
  • 1 tablespoon unsalted butter
  • ½ large yellow onion, diced (about 1 cup)
  • 4 large carrots, diced
  • 2 cloves of garlic, minced
  • 1 pound ground beef
  • 3 teaspoons kosher salt, divided
  • 1 tablespoon all-purpose flour
  • 1/3 cup beef stock
  • 2 tablespoons Worcestershire sauce
  • ¼ cup unsalted butter, cubed
  • ½ cup heavy cream
  • ½ teaspoon black pepper
  • 1 cup frozen peas
  • 1 tablespoon chopped fresh parsley
  • 1/4 cup grated Parmesan cheese


  1. Bring a pot of water to a boil. Add the potatoes and boil them for 10-15 minutes or until fork tender.
  2. While the potatoes boil, melt the butter in a 10″ oven-safe skillet. Add the onions and carrots and cook them until they soften, approximately 8-10 minutes. Add the garlic and beef, using a spatula to break it up as it cooks. Add 1 teaspoon of salt and stir.
  3. Sprinkle the flour over the top of the beef and stir. Add the beef stock and Worcestershire sauce. Simmer the liquid until the juices thicken.
  4. Drain the potatoes and place them back in the pot. Mash the potatoes to break them up. Add the butter and heavy cream. Continue mashing until the potatoes are smooth and the cream and butter are incorporated. Season with the black pepper and 2 teaspoons of kosher salt.
  5. Add the peas and parsley to the beef and vegetables and stir to combine. Spread the mashed potatoes over the top of the meat filling. Sprinkle the grated Parmesan over the top of the potatoes.
  6. Turn the oven to broil. Place the skillet on a sheet pan (in case anything bubbles over the edges of the skillet) and place it under the broiler. Keep an eye on it, and once the potatoes start to take on some golden edges, remove the skillet from the oven and serve.


If you don’t have an oven-safe skillet, transfer the cooked filling to a 9″ casserole dish and add the mashed potatoes.

If you are sensitive to salt, I recommend reducing the salt in the mashed potatoes to one teaspoon. Or, add a little at a time and taste the potatoes until the flavor works for you. 


  • Calories: 794
  • Sugar: 9.5g
  • Sodium: 2260.1mg
  • Fat: 51.1g
  • Saturated Fat: 26.3g
  • Unsaturated Fat: 20.2g
  • Trans Fat: 0.4g
  • Carbohydrates: 52.1g
  • Fiber: 9.2g
  • Protein: 32.7g
  • Cholesterol: 159.7mg

Do you love this recipe? Don’t forget to leave a comment and your recipe star rating!

The nutrition is an estimate only. It was calculated using Nutrifox, an online nutrition calculator.


Meat mixture: For a traditional shepherd’s pie, use ground lamb. If you want to lighten it up, use ground turkey.

Cheese: I love the sprinkle of Parmesan cheese over the potatoes. It adds a little texture and color after you broil the top. Try shredded cheddar cheese or gruyere cheese if you want to switch it up.

the finished dish in a pan.

Make Ahead Tips

You can assemble the shepherd’s pie a day ahead, cover it with plastic wrap, and refrigerate it until you’re ready to bake it.

If you make it ahead, you should bake it for about 30 minutes at 375°F or until the filling is bubbling hot and the mashed potatoes are lightly golden.

Leftovers will keep in an airtight container in the refrigerator for three to four days.

the finished shepherd's pie.

If you’re craving comfort, I hope you try this recipe soon!

Happy cooking,


More Comfort Food Recipes


  1. I have heard that if “Shepard’s Pie” is made with ground beef it is called Cottage Pie.
    Either way- always a family favorite!

    1. Shepherds look after sheep so shepherd’s pie is made wih lamb – not beef.. Your recipe, – very nice – is called Cottage Pie…!

  2. I love this recipe! So very good. I didn’t have peas the first time I made this, so I used celery instead, and it was great. I’m making this again tonight, and toying with the idea of using an orange bell pepper. I think that would be good, too. Thanks for sharing such a delicious recipe! I’ve made this one so often, that I’ve got it memorized!

  3. This was delicious. My family loved it. The only changes I made were doing only 2 potatoes (which was plenty), and I added a little fish sauce and A-1 steak sauce to the meat mixture to add a little flavor depth, and I threw in a can of drained green beans for more vegetables. Really good and I’m adding it to our rotation.

Leave a Reply

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

Recipe rating 5 Stars 4 Stars 3 Stars 2 Stars 1 Star

This site uses Akismet to reduce spam. Learn how your comment data is processed.