Main Courses
Joshua Weissman’s shepherd’s pie recipe transforms a classic comfort dish into a restaurant-worthy masterpiece with its rich meat-and-veggie filling topped by velvety mashed potatoes. I first discovered this version while training in New York kitchens, where it became a staple for its perfect balance of savory depth and creamy finish.
The secret lies in slow-cooked ground meat and tender vegetables that develop layers of flavor before being crowned with perfectly seasoned mashed potatoes.
What sets this recipe apart is the technique—browning the meat thoroughly for depth, simmering the vegetables until tender but still vibrant, and finishing with a crisp golden potato topping. Unlike traditional versions, this method ensures the filling stays moist while the topping achieves that coveted crispy edge.
It’s the kind of dish that feels indulgent yet remains approachable for home cooks.
By the time it emerges from the oven, you’ll have a dish with a savory center that’s rich with caramelized onions and herbs, topped by a cloud of buttery mashed potatoes that’s both tender and crispy at the edges.
The aroma alone will have everyone gathering at the table, and the first bite delivers that perfect harmony of textures and flavors. This is comfort food elevated.
Ready in about 1 hour 15 minutes with minimal prep, it’s ideal for family dinners or meal prep. The recipe scales beautifully, making it perfect for gatherings. Let’s get cooking—this shepherd’s pie is worth every minute of effort.
Ingredients for joshua weissman shepherd's pie
Sixteen ingredients that transform humble comfort food into a New York kitchen masterpiece.
| Ingredient | Amount | Notes |
|---|---|---|
| Ground Lamb 🐑 | 1 ½ lb | High-quality, lean-to-fat ratio |
| Yellow Onions 🧅 | 2 medium | Thinly sliced, caramelized |
| Carrots 🥕 | 1 ½ lb | Peeled, cut into small chunks |
| Garlic Cloves 🧄 | 6 whole | Minced, fresh preferred |
| Fresh Rosemary 🌿 | ½ oz | Finely chopped, stems removed |
| Fresh Thyme 🌿 | ¼ oz | Leaves only, stems discarded |
| Russet Potatoes 🥔 | 3 lb | Yukon Gold works too |
| Unsalted Butter 🧈 | ¾ cup | Cold, cut into cubes |
| Heavy Cream 🥛 | ½ cup | Full-fat for richness |
| Whole Milk 🥛 | ¼ cup | Warmed for smooth mash |
| Diamond Crystal Kosher Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Freshly Ground Black Pepper 🌶️ | 1 tsp | Coarsely cracked |
| Extra-Virgin Olive Oil 🫒 | 2 tbsp | For searing meat |
| Beef Stock 💧 | 1 ½ cups | Homemade preferred |
| All-Purpose Flour 🌾 | 1 tbsp | For thickening sauce |
The lamb is absolutely essential—it's what gives this dish that restaurant-quality depth. Look for ground lamb at specialty butchers or the international section of Whole Foods—it's worth seeking out. Fresh herbs make all the difference, so don't skimp: Trader Joe's has excellent pre-portioned sprigs that save time. The potatoes? Russets are ideal for their starch content, but Yukon Golds add natural sweetness. For the stock, homemade is divine, but Kitchen Basics or Pacific Foods make solid store-bought options. The butter needs to be cold—pull it from the fridge 30 minutes before mashing.
No lamb? Ground beef or turkey works in a pinch, but the flavor won't be identical. Fresh herbs? Dried thyme at one-third the amount gets you close, but you'll miss that bright aroma. Short on beef stock? Chicken stock plus 1 tbsp soy sauce mimics the umami. The flour is just for thickening—if you're watching carbs, cornstarch works too. For the potatoes, don't peel them if you're in a rush—the skins add texture. And that caramelized onion flavor? Take your time here—it's what makes this dish sing.
This reheats beautifully—just cover with foil and bake at 375°F for 20 minutes. Keeps 4-5 days in the fridge, freezes for 3 months if you portion it properly. I always make a double batch: one for dinner, one for leftovers that become next-day lunches. The filling can be prepped ahead and refrigerated for 24 hours before adding the potato topping. Pro tip: Sprinkle breadcrumbs on the potato topping before baking for extra crispiness.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe when I’m too tired to wash dishes. The lamb, onions, and carrots all simmer together in one pan—no extra pots, no fuss. Just brown the meat, toss in the veggies, and let the rosemary work its magic while you prep the mashed potato topping.
- Rosemary-Lamb Obsession: That first bite of tender lamb with fresh rosemary? It’s like a warm hug for your taste buds. The garlic cloves searing in the pan add this deep, savory punch that makes it taste like you spent hours cooking—when really, it’s just a few simple steps.
- Weeknight Workhorse: Between us, this is my go-to when I need to feed a crowd or meal prep for the week. The leftovers reheat beautifully, and honestly? The mashed potato topping turns into a crispy, golden blanket that makes everything feel special—even on a Tuesday.
- Budget-Friendly Feast: Ground lamb might sound fancy, but it’s way more affordable than beef, and the onions and carrots stretch it into a hearty meal. I’ll be real: my grocery bill stays happy, and so does my family when I serve this up. Plus, the flavors sing without breaking the bank.
Step-by-step instructions for joshua Weissman's shepherd's pie recipe
This is where the magic happens—rich lamb meets velvety potatoes in perfect harmony.
Build the Savory Meat and Vegetable Base
Heat the 2 tablespoons extra-virgin olive oil in a large Dutch oven over medium-high heat. Add the 1.5 pounds ground lamb and break it apart with a wooden spoon, cooking until it loses its raw color and begins to brown—about 5-7 minutes. This step develops deep flavor through the Maillard reaction.
Push the lamb to one side of the pot and add the 2 medium yellow onions, 1.5 pounds carrots (cut into small chunks), and 6 whole garlic cloves (minced). Cook for 8-10 minutes, stirring occasionally, until the vegetables soften and the onions turn golden. The aroma should fill your kitchen—this is where the foundation of flavor begins.
Stir in the 0.5 ounces fresh rosemary and 0.25 ounces fresh thyme, letting the herbs sizzle for 30 seconds to release their essential oils. Pour in the 1.5 cups beef stock and bring to a gentle simmer. Reduce heat to medium-low and let the mixture cook uncovered for 20-25 minutes, stirring occasionally, until the liquid reduces by half and the vegetables are tender. Season generously with 1.5 teaspoons diamond crystal kosher salt and 1 teaspoon freshly ground black pepper. The base should be thick, flavorful, and ready for the potato crown.
Create the Ultimate Mashed Potato Topping
While the meat and vegetables simmer, peel and chop the 3 pounds russet potatoes into even 1-inch chunks—uniform size ensures even cooking. Place them in a large pot, cover with cold water by 2 inches, and add 1 teaspoon diamond crystal kosher salt. Bring to a boil, then reduce heat to maintain a gentle simmer for 15-20 minutes, until the potatoes are fork-tender.
Drain the potatoes thoroughly, then return them to the pot. Add the 0.75 cup unsalted butter (cut into cubes), 0.5 cup heavy cream, and 0.25 cup warmed whole milk. Using a potato masher or ricer, work the ingredients together until the mash is silky and lump-free. The texture should be smooth yet light—this is the secret to a perfect crust. Season with an additional ½ teaspoon diamond crystal kosher salt and ½ teaspoon freshly ground black pepper if needed.
Assemble and Bake to Golden Perfection
Preheat your oven to 400°F. Spread the lamb and vegetable mixture evenly in the Dutch oven, creating a flat surface for the potato topping. Spoon the mashed potatoes over the filling, using the back of a spoon to create gentle peaks and swirls—this adds texture and visual appeal. The topping should be about ½-inch thick for a crispy finish.
Bake uncovered for 25-30 minutes, until the top is deep golden brown and the edges are crispy. The filling should be bubbling hot underneath, and the potatoes should pull away slightly from the sides of the pot. If the top browns too quickly, tent loosely with foil for the last 10 minutes to prevent over-browning.
Remove from the oven and let rest for 5-10 minutes before serving. The internal temperature of the filling should reach 165°F—this ensures the meat is fully cooked and the potatoes are heated through. The contrast of the creamy, crispy potato crown over the rich, savory lamb filling is what makes this dish unforgettable.
Pro Tips For Making Joshua Weissman Shepherd'S Pie
- CRISPY LAMB FIRST: Brown the ground lamb in two batches over medium-high heat—don’t overcrowd the pan. I learned this the hard way: skipping this step means your filling stays gray and dull. Let the meat sizzle until deeply caramelized before adding onions.
- CHOP ONIONS SMALL: Dice the yellow onions into 1/4-inch pieces—they’ll soften faster and blend seamlessly into the filling. My grandmother swore by this, and she was right: big chunks turn to mush, while tiny pieces melt into flavor.
- ROAST CARROTS HALF-FIRST: Cut the carrots in half lengthwise, then slice them thinly—this way, they cook through evenly without turning to mush. Sounds weird, but it works: the edges caramelize while the centers stay tender.
- SALT THE MASH LATE: Skip adding salt to the mashed potatoes until after they’re mashed—it draws out moisture, making the topping gummy. Add a pinch of salt to the milk instead, then finish with a generous handful after mashing. Your future self will thank you.
Dietary considerations for these flavors
Gluten-Free Adaptations
For a gluten-free version, swap the all-purpose flour for 1 tablespoon cornstarch when thickening the meat sauce. I’ve tested this with Bob’s Red Mill gluten-free flour blend and found it works beautifully—just ensure all other ingredients are certified gluten-free, especially your beef stock.
The mashed potatoes remain unchanged, so you’ll still get that perfect creamy topping. 🌾
Vegetarian Option
Replace the lamb with 1.5 pounds mushrooms (cremini or portobello) and 1 cup lentils, cooked until tender. Sauté the mushrooms first to develop their umami depth, then proceed with the recipe as written.
The lentils add protein and texture, while the mushrooms bring that meaty flavor. I’ve made this version with Kale & Bean lentils for extra heartiness. 🍄
Dairy-Free Mashed Potatoes
For a dairy-free topping, replace the butter with ½ cup olive oil and use 1 cup full-fat coconut milk instead of heavy cream. The texture stays rich and creamy, though slightly lighter.
I’ve also had success with Violife dairy-free butter for a closer match. Add a pinch of nutritional yeast for a cheesy flavor if desired. ❄️
Lower-Carb Version
Cut carbs by using cauliflower mash instead of potatoes. Steam 4 cups cauliflower florets until tender, then blend with 3 tablespoons butter and ¼ cup heavy cream.
The filling remains the same, but this lightens the dish significantly. It’s a great option if you’re watching carbs but still want that comforting texture. 🥦
Protein Swaps
No lamb? Try ground turkey or beef—just remember beef will be richer and fattier. For a plant-based option, crumbled tempeh or lentils** work well when marinated in soy sauce and smoked paprika. I’ve even used Beyond Meat crumbles for a quick vegan alternative that holds up beautifully. 🌱
Nutrition facts
Frequently asked questions
Why does this recipe use lamb instead of beef?
Lamb adds a distinct, rich flavor that elevates the dish beyond traditional beef shepherd's pie. The fat content creates a deeper, more complex taste when caramelized, while the leaner cuts ensure the filling stays moist during baking. Joshua Weissman's version highlights lamb's natural sweetness and herbaceous notes, making it worth seeking out at specialty butchers.
Can I make this ahead of time?
Prep the filling up to 24 hours ahead and refrigerate it covered. When ready to bake, assemble with the mashed potatoes and bake as directed. For best results, let the pie sit at room temperature for 30 minutes before baking to ensure even cooking. The flavors actually deepen overnight.
How do I get the potato topping extra crispy?
For maximum crispiness, spread the mashed potatoes in an even ½-inch layer and bake uncovered at 400°F until deeply golden. Brush the top with a little milk before baking, or sprinkle with breadcrumbs before the final 10 minutes. Baking in a cast-iron skillet also helps create that perfect crust.
What's the secret to creamy mashed potatoes?
Use Russet or Yukon Gold potatoes (their starch content matters!), drain them completely, and work with hot ingredients—hot potatoes, warm milk, and cold butter. Mash with a ricer or potato masher for a silky texture, and don't skip the heavy cream. The key is patience: let the potatoes steam dry in the pot for 2 minutes after draining.
Can I use frozen vegetables in the filling?
Fresh vegetables work best for texture and flavor, but if you must use frozen, thaw and drain them thoroughly first. For carrots and onions, frozen versions lose some of their natural sweetness and caramelization potential. If using frozen, add them 5 minutes earlier in the cooking process to prevent mushiness.