Main Courses
Joshua Weissman’s shepherd’s pie delivers the perfect marriage of rich, savory meat filling and a crispy, golden mashed potato topping—just like the one I first tasted at his restaurant and immediately knew I had to recreate at home.
The secret lies in slow-cooked ground meat with tender vegetables and a velvety gravy, all blanketed under a cloud of perfectly seasoned, crisp-topped mashed potatoes that turn into a golden crust when baked.
After years of perfecting this classic comfort dish, I’ve developed a method that ensures every layer—from the tender meat to the crispy crust—comes together flawlessly.
What sets this recipe apart is the balance of textures and flavors: the meat filling stays juicy and aromatic, while the mashed potato topping transforms into a crispy, caramelized crust that’s impossible to resist.
The process is straightforward but requires patience—especially when browning the meat and reducing the gravy to achieve that deep, rich flavor.
With just a few simple ingredients and about an hour of active time (plus baking time), you’ll have a restaurant-quality shepherd’s pie that’s hearty enough for a family dinner or a cozy weeknight meal.
The result is a dish that’s comforting yet refined, with layers of savory meat, tender vegetables, and a golden, crispy potato topping that’s worth every bite.
The aroma alone—warm, earthy, and inviting—will have everyone gathered around the table, and the first forkful will prove why this dish is a timeless classic. Whether you’re serving it for a holiday gathering or a quiet night in, this shepherd’s pie delivers satisfaction in every bite.
Ready to make it? Here’s everything you need to create a shepherd’s pie that rivals the best restaurant versions—starting with the perfect filling and ending with that coveted golden crust. Let’s get started.
Ingredients for joshua weissman shepherd's pie
Six hearty servings of restaurant-quality shepherd’s pie start with these simple, flavor-packed ingredients.
| Ingredient | Amount | Notes |
|---|---|---|
| Ground Lamb 🐑 | 1 ½ lb | Lean or slightly fatty preferred |
| Yellow Onion 🧅 | 1 whole | Diced into small pieces |
| Carrots 🥕 | 3 medium | Peeled and diced small |
| Garlic Cloves 🧄 | 4 cloves | Minced finely for depth |
| Fresh Rosemary 🌿 | ½ tbsp | Chopped finely for aroma |
| Fresh Thyme 🌿 | ½ tbsp | Leaves only, chopped |
| Beef Broth 💧 | 1 ½ cups | Low-sodium preferred |
| Tomato Paste 🍅 | 2 tbsp | Smooth for rich flavor |
| Russet Potatoes 🥔 | 2 ½ lb | Waxy variety preferred |
| Unsalted Butter 🧈 | ½ cup | Cold for flaky crust |
| Heavy Cream 🥛 | ½ cup | Full-fat for richness |
| Whole Milk 🥛 | ¼ cup | Warmed for smooth mash |
| Salt 🧂 | 1 ½ tsp | Kosher salt preferred |
| Black Pepper 🌶️ | 1 tsp | Freshly ground for heat |
| Nutmeg 🌿 | ¼ tsp | Freshly grated for warmth |
The lamb is the star—ground lamb gives that rich, earthy depth you can’t get with beef. Costco or Whole Foods usually have it pre-ground, but if you’re buying whole, ask the butcher to grind it fresh. The carrots and onions should be diced small (about 1/4-inch pieces) so they melt into the filling. Fresh herbs make all the difference here—Trader Joe’s sells great bundles of rosemary and thyme, or grab them from the farmers market if you can. Pro tip: Toast the spices in a dry pan for 30 seconds before adding to the meat—that’s how you wake up the flavor.
No lamb? Ground beef or turkey works in a pinch, but lamb is ideal. Short on fresh herbs? Dried thyme at 1/3 the amount gets you close. The tomato paste can be the squeeze-tube kind (Trader Joe’s has great ones), but if you’ve got a can, use that. For the potatoes, Russets are a must—they’re starchy enough to make that perfect crispy crust. If you’ve got leftover mashed potatoes, mix in a splash of milk and butter to loosen them up before topping. And if your filling’s too dry? Add a splash of beef broth—just enough to moisten.
This pie reheats beautifully—even better the next day once everything melds together. Store leftovers in the fridge for 4-5 days, or freeze portions for up to 3 months. For extra crispiness, broil the pie for 2-3 minutes before serving. I like to make a double batch and freeze half—perfect for lazy weeknights. The crust gets softer when reheated, so if you’re serving it cold, bake it straight from the fridge for that crispy texture.
Why You'll Love This Recipe
- One-Pan Magic: The lamb and veggies all cook together—no chopping chaos or multiple dishes. I swear, I’ve made this while scrolling through my phone, and it still tastes like I slaved over it.
- Herb-Packed Depth: That rosemary and garlic? They turn simple ground lamb into something rich and layered. Honestly, the first time I tasted it, I thought, "Wait, this is actually gourmet?"—and it’s just a casserole.
- Leftovers That Don’t Suck: Between us, most shepherd’s pie leftovers are sad. Not this one. The flavors get even better the next day, and it reheats like a dream—crispy top, warm filling, no dry spots.
- Budget-Friendly Luxury: Ground lamb feels fancy, but it’s way cheaper than beef, and the onions, carrots, and herbs stretch it into a full meal. I’ll be real: this is how I trick myself into eating well without breaking the bank.
Step-by-step instructions for joshua Weissman's shepherd's pie
Here's how to create layers of savory lamb filling and fluffy potato topping that'll have everyone asking for seconds.
Sauté the Lamb and Vegetables for Maximum Flavor
Heat a large Dutch oven over medium-high heat. Add the 1.5 lb ground lamb and cook for 5-6 minutes, breaking it apart with a wooden spoon until it loses its raw color and starts to brown. This step develops deep, meaty flavors that form the heart of your shepherd's pie.
Push the lamb to one side of the pot and add 2 tablespoons of the 0.5 cup unsalted butter. Toss in the diced 1 whole yellow onion and diced 3 medium carrots, cooking for 5-6 minutes until they begin to soften. Add the minced 4 cloves garlic cloves and cook for another 30 seconds until fragrant. Here's the thing—don't rush this step. Properly caramelizing the vegetables builds the foundation for your filling's rich taste.
Build the Savory Lamb Filling
Stir the cooked vegetables back into the lamb mixture. Add the 0.5 tbsp chopped fresh rosemary, 0.5 tbsp chopped fresh thyme, 1.5 tsp salt, 1 tsp black pepper, and 0.25 tsp freshly grated nutmeg. Cook for 2 minutes to let the spices bloom.
Pour in the 1.5 cups beef broth and 2 tbsp tomato paste, stirring well to combine. Bring to a gentle simmer and cook uncovered for 10-12 minutes until the mixture thickens slightly. You'll notice the lamb filling darkens and intensifies in flavor—this is when it starts tasting like comfort food. Remove from heat and set aside.
Prepare the Perfect Potato Topping
While the lamb simmers, peel and chop the 2.5 lb russet potatoes into 1-inch chunks. Place them in a large pot of cold salted water and bring to a boil. Cook for 10-12 minutes until fork-tender, then drain well.
Return the potatoes to the pot and let them steam dry for 1 minute to remove excess moisture. This step is crucial—wet potatoes will create a soggy topping instead of a golden crust. Transfer the potatoes to a mixing bowl and mash them with the remaining 0.3 cup unsalted butter, 0.5 cup heavy cream, and 0.25 cup warmed whole milk until smooth. Season with a pinch of salt if needed.
Assemble and Bake to Golden Perfection
Preheat your oven to 400°F. Spread the lamb filling evenly in the bottom of your Dutch oven. Spoon the potato topping over the lamb, spreading it smoothly to create an even layer. Use the back of a spoon to create decorative ridges in the topping—this helps it crisp up beautifully.
Bake uncovered for 25-30 minutes until the top is golden brown and the edges are crispy. Here's where it gets amazing—the potato topping should be golden and slightly crisp on top while remaining creamy underneath. The filling should bubble gently, indicating it's heated through. Let it rest for 5 minutes before serving to allow the juices to redistribute.
Pro Tips For Making Joshua Weissman Shepherd'S Pie
- CRANK THE HEAT FIRST: Ground lamb loves a sear, and skipping this step means bland filling. Cook it over high heat for the first 3 minutes—you’ll see it brown fast, and that’s exactly what you want before adding onions.
- CHOP CARROTS UNIFORMLY: I learned this the hard way—lumpy carrots mean some pieces stay crunchy while others turn to mush. Cut them into ¼-inch dice so they soften evenly with the lamb.
- DON’T SKIP THE ROSEMARY SPRINKLE: Fresh rosemary needs a minute to bloom. Toss it into the lamb after browning, then let it sit with the onions for 30 seconds before stirring—this unlocks its flavor instead of just adding a piney afterthought.
- USE COLD POTATOES FOR TOPPING: Microwaved or boiled potatoes steam the filling. Instead, mash them with butter and milk, then spread the mix cold over the hot filling—it seals in steam and gives that golden crust without sogginess.
Dietary considerations for this recipe
Gluten-Free Adaptation
Shepherd’s pie is naturally gluten-free if you skip the breadcrumbs or gravy thickeners—but this version needs extra attention to texture.
Replace the tomato paste with 2 tbsp gluten-free tomato paste (like Trader Joe’s brand) and thicken the gravy with a cornstarch slurry (1 tbsp cornstarch + 2 tbsp water). For the potato topping, use gluten-free butter (like Miyoko’s) and ensure your beef broth is certified gluten-free.
The key? Don’t overmix the potatoes—lumpy texture helps trap moisture, preventing a gummy crust. 🥔
Dairy-Free Options
Swap the butter, cream, and milk for dairy-free alternatives without sacrificing richness. Use olive oil or coconut oil (for the potatoes) and full-fat coconut cream (instead of heavy cream). Warm the coconut cream with a splash of unsweetened almond milk to mimic the velvety texture.
For extra flavor, add 1 tsp nutritional yeast—it gives that umami depth Nonna used to achieve with Parmesan. The crust will still crisp up beautifully, though it’ll have a slightly different golden hue. 🥥
Lower-Carb Version
Cut carbs by replacing half the potatoes with cauliflower mash. Steam 2 cups cauliflower florets until tender, then blend with 2 tbsp dairy-free butter, ¼ cup unsweetened almond milk, and a pinch of salt.
Mix this into your mashed potatoes (use 1.5 lb potatoes instead of 2.5 lb) for a lighter topping. The cauliflower adds a subtle sweetness that balances the savory lamb filling. For extra crunch, sprinkle toasted almond slices on top before baking. 🥬
Vegetarian Twist
Swap the lamb for a hearty mushroom and lentil mix. Sauté 1 lb cremini mushrooms and 1 cup cooked brown lentils with the onions and carrots. Boost umami with 1 tbsp soy sauce (or tamari for gluten-free) and 1 tsp smoked paprika.
The lentils add protein and texture, while the mushrooms deepen the earthy flavor. Top with the same creamy potato mix—trust me, no one will miss the meat! 🍄
Kid-Friendly Adjustments
Make it approachable for picky eaters by hiding veggies in the filling. Finely grate ½ zucchini (squeeze out excess water) and ½ cup frozen peas into the lamb mixture. For the potatoes, add ¼ cup pureed butternut squash to the mash for natural sweetness.
Serve with a side of ketchup or gravy for dipping—it’s a foolproof way to get them excited about the dish. The golden crust always wins them over, though! 🧒
Meal Prep Tips
Shepherd’s pie reheats beautifully, but texture is key. Assemble the dish one day ahead and refrigerate uncovered for 12 hours before baking. This helps the potato topping dry out slightly, ensuring a crispier crust.
For leftovers, reheat covered at 350°F for 15-20 minutes—add a splash of broth if it looks dry. Freeze portions in airtight containers for up to 3 months.
When reheating from frozen, bake at 375°F for 45-50 minutes, covered with foil until heated through, then uncovered for the last 5 minutes to crisp the top. ❄️
Nutrition facts
Frequently asked questions
Can I use beef instead of lamb for this recipe?
While lamb gives that classic earthy depth, ground beef (especially chuck or ground round) works beautifully. For best results, use 80/20 fat ratio to keep the filling juicy. If you prefer leaner meat, add 1 tablespoon tomato paste extra to compensate for moisture loss. The flavor will be slightly different but still delicious—just don't expect the same rich, gamey notes as lamb.
How do I prevent the potato topping from getting soggy?
The key is moisture control! First, steam-dry the cooked potatoes for 1 minute after draining to remove excess water. Second, use full-fat dairy (butter, cream, milk) for richness that helps create a barrier. Third, bake uncovered for the last 5 minutes to crisp the top. Pro tip: If your filling seems too wet, spread it in a single layer on a baking sheet to reduce moisture before assembling.
What's the best way to reheat leftovers without making the crust soggy?
Reheat covered at 350°F for 15-20 minutes first, then uncover and broil for 2-3 minutes to restore crispiness. For extra insurance, add 1 tablespoon beef broth to the filling before reheating to keep everything moist. Microwaving? Cover with a damp paper towel and heat in 30-second intervals, stirring between each. The crust will soften but still taste amazing.
Can I make this recipe ahead of time?
Yes! Assemble the pie one day ahead and refrigerate uncovered. This helps the potato topping dry out slightly for a better crust. When ready to bake, add 5-10 minutes to your baking time. For freezing, bake the pie completely, then cool and store in airtight containers for up to 3 months. Thaw overnight in the fridge before reheating. The flavors actually improve after resting!
What's the secret to getting that perfect golden crust?
Three things: butter (don't skip it!), high heat, and time. Use cold butter in the mashed potatoes, spread the topping evenly, and bake at 400°F until deeply golden. For extra crispiness, broil for 1-2 minutes at the end. The crust should be crisp on top but creamy underneath—like a perfect pie shell.
