Best Classic Shepherd’s Pie
⏱ 70 min
🍽 Serves 6
🇨🇦 Real prices
$3–$4
per serving · Canadian grocery prices, as a range — the thing almost no recipe app shows.
Rounded up to the nearest dollar; the range reflects store-to-store pricing across Canadian grocers. Hearth shows your local number once you set your area.
You're viewing this on Hearth free — no account needed.
Start a free trial to save, plan & shop it.
Ingredients · for 6 (scales to your household)
-
2 tablespoons
Olive oil
$0.36
-
1 cup
Chopped yellow onion
$0.75
-
1 lb
90% lean ground beef (or ground lamb)
$7.94
-
2 teaspoons
Dried parsley leaves
$0.06
-
1 teaspoon
Dried rosemary leaves
$0.07
-
1 teaspoon
Dried thyme leaves
$0.07
-
1/2 teaspoon
Salt
$0.03
-
1/2 teaspoon
Ground black pepper
$0.07
-
1 tablespoon
Worcestershire sauce
$0.26
-
2 cloves
Garlic cloves, minced
$0.06
-
2 tablespoons
All purpose flour
$0.03
-
2 tablespoons
Tomato paste
$0.24
-
1 cup
Beef broth
$0.55
-
1 cup
Frozen mixed peas & carrots
$0.52
-
1/2 cup
Frozen corn kernels
$0.41
-
1 1/2 lb
Russet potatoes, peeled and cubed
$3.52
-
8 tablespoons
Unsalted butter
$1.62
-
1/3 cup
Half & half
$0.41
-
1/2 teaspoon
Garlic powder
$0.07
-
1/2 teaspoon
Salt
$0.03
-
1/4 teaspoon
Ground black pepper
$0.03
-
1/4 cup
Parmesan cheese
$0.68
Per-ingredient cost is the amount this recipe uses at the lowest Canadian price we have on file; the per-serving total above adds the range up to the dearest price and for buying whole packages.
Method
- Add the oil to a large skillet and place it over medium-high heat for 2 minutes. Add the onions. Cook 5 minutes, stirring occasionally.
- Add the ground beef (or ground lamb) to the skillet and break it apart with a wooden spoon. Add the parsley, rosemary, thyme, salt, and and pepper. Stir well. Cook for 6-8 minutes, until the meat is browned, stirring occasionally.
- Add the Worcestershire sauce and garlic. Stir to combine. Cook for 1 minute.
- Add the flour and tomato paste. Stir until well incorporated and no clumps of tomato paste remain.
- Add the broth, frozen peas and carrots, and frozen corn. Bring the liquid to a boil then reduce to simmer. Simmer for 5 minutes, stirring occasionally.
- Set the meat mixture aside. Preheat oven to 400 degrees F.
- Place the potatoes in a large pot. Cover the potatoes with water. Bring the water to a boil. Reduce to a simmer. Cook until potatoes are fork tender, 10-15 minutes.
- Drain the potatoes in a colander. Return the potatoes to the hot pot. Let the potatoes rest in the hot pot for 1 minute to evaporate any remaining liquid.
- Add butter, half & half, garlic powder, salt, and pepper. Mash the potatoes and stir until all the ingredients are mixed together.
- Add the parmesan cheese to the potatoes. Stir until well combined.
- Pour the meat mixture into a 9x9 (or 7x11) inch baking dish. Spread it out into an even layer. Spoon the mashed potatoes on top of the meat. Carefully spread into an even layer.
- If the baking dish looks very full, place it on a rimmed baking sheet so that the filling doesn’t bubble over into your oven. Bake uncovered for 25-30 minutes.** Cool for 15 minutes before serving.
Know what every dinner costs — before you buy
This is one of 850+ dinners where Hearth shows the real per-serving cost and what's on sale near you. Add it to a day and Hearth builds one aisle-sorted shopping list for your whole week — minus what's already in your pantry.
- ✓ Real cost per serving on every recipe
- ✓ One shopping list, by aisle — minus what's in your kitchen
- ✓ Scales to your household · cook mode built in
Start free — 30 days, no card
📱 Or install Hearth on your phone →
Cancel & export your data anytime · no ads, no third-party trackers
Browse 850+ more recipes — each with its real cost and what's on sale near you.