Go Back
+ servings
shepherd's pie on a plate with a fork

Shepherd's Pie

This classic shepherd's pie recipe has ground beef, veggies, and mashed potatoes to make the best comfort food! The rich, savory gravy is mouthwatering, and you can make this tasty and affordable meal ahead of time.
Course Main Course
Cuisine American, English
Keyword cottage pie, how to make Shepherd's Pie, shepherd's pie
Prep Time 15 minutes
Cook Time 55 minutes
Total Time 1 hour 10 minutes
Servings 8
Calories 411kcal


Meat and veggie filling:

  • 2 tablespoons butter
  • 1 medium onion chopped
  • 1 pound lean ground beef or lamb
  • 1/2 teaspoon Italian seasoning
  • 2 tablespoons tomato paste
  • 2 tablespoons flour
  • 1 cup beef broth
  • 1 tablespoon Worcestershire sauce
  • 1/2 teaspoon salt
  • 2 cups mixed vegetables (I use a combo of frozen peas & carrots and frozen corn)

Potato topping:

  • 2.5 pounds Russet potatoes peeled and cut into quarters
  • 1/2 cup heavy cream
  • 1/4 cup butter (1/2 stick)
  • 3 cloves garlic minced
  • 1/2 teaspoon salt
  • Pepper to taste
  • Garnish: chopped fresh parsley optional, to taste


  • Peel the potatoes and cut them into 4 pieces each. Boil them until tender. Start the rest of the recipe while they're cooking. Preheat your oven to 375F and move the rack to the top third of the oven. Don't worry if the meat filling and potatoes aren't quite done at the same time.
  • Add 2 tablespoons of the butter to a large skillet and melt over medium-high heat, then add the onion and sauté for 5 minutes.
  • Add the beef to the skillet and cook, breaking it up with your spoon as you go along, until browned (about 6-8 minutes).
  • Reduce the heat to medium and stir in the Italian seasoning, tomato paste, and flour. Cook (stir constantly), for about a minute.
  • Add in the beef broth, Worcestershire sauce, and salt, and scrape up any brown bits from the bottom of the pan. Let the liquid thicken up a bit (about 1 minute).
  • Stir in the frozen mixed veggies and cook for 5 minutes, stirring often.
  • When the potatoes are almost done, add the cream, butter, garlic, and salt & pepper to a small saucepan and warm it over medium heat until the butter has melted and it's warmed through (don't let it boil). Once the potatoes are done (a knife should slide in easily), drain them and add them back to the pot they were cooked in. Pour the saucepan mixture over the potatoes and mash until smooth. 
  • Transfer the meat mixture to a 9x13 casserole dish and then spoon the potatoes over top. Smooth with a rubber spatula (or spoon if that's all you have). You can use a fork to create texture by raking it over the potatoes.
  • Bake, uncovered, for 30 minutes or until hot and bubbly, then broil for a few minutes (watch it carefully) to brown the potatoes.
  • Let it sit for a few minutes before serving and sprinkle with fresh chopped parsley if desired.


  • I recommend weighing the potatoes at the grocery store as potato sizes vary a lot and everyone has a different idea of what a "large" potato is, but if you need to eyeball, 2.5 pounds of Russets is roughly 3 large potatoes.
  • Serves 6-8 depending on portion size. Leftovers are delicious.
  • See blog post for more tips including step-by-step photos, substitutions, and make ahead instructions.
  • Nutritional information is provided as a courtesy only and should be construed as an estimate rather than a guarantee. Ingredients can vary and Salt & Lavender makes no guarantees to the accuracy of this information.


Calories: 411kcal | Carbohydrates: 37g | Protein: 17g | Fat: 23g | Saturated Fat: 12g | Polyunsaturated Fat: 1g | Monounsaturated Fat: 7g | Trans Fat: 1g | Cholesterol: 78mg | Sodium: 600mg | Potassium: 973mg | Fiber: 4g | Sugar: 3g | Vitamin A: 2860IU | Vitamin C: 15mg | Calcium: 64mg | Iron: 3mg