Main Courses
Joanna Gaines' shepherd's pie recipe delivers that comforting, layered perfection we all crave—flaky golden potatoes sealing in tender meat and vegetables for a dish that feels like home.
The secret lies in the crispy topping, which requires just the right balance of butter and cream cheese for that signature texture. I've tested this recipe countless times to ensure it's foolproof, whether you're feeding a family or hosting guests.
This classic comfort dish starts with a rich filling of ground beef or lamb, onions, carrots, and peas simmered in a savory gravy. The mashed potato topping isn't just for show—it's the star, transforming simple ingredients into something restaurant-worthy.
What makes this version special is how the potatoes achieve that perfectly crispy finish while staying creamy inside, thanks to a precise baking technique.
By the time it emerges from the oven, you'll have a dish that's hearty enough for a weeknight dinner but elegant enough for company. The aroma alone will have everyone gathering at the table, and the first bite delivers that satisfying contrast of crispy topping and tender filling.
This is the kind of recipe that becomes a staple in your rotation once you try it.
Serve with a simple green salad or crusty bread to soak up every last bit of that savory gravy. The beauty of this shepherd's pie is its versatility—it reheats beautifully for leftovers and tastes even better the next day.
Let's get started on creating your own version of Joanna's beloved classic.
Ingredients for joanna gaines shepherd's pie
Sixteen ingredients for that perfect golden crust and tender filling.
| Ingredient | Amount | Notes |
|---|---|---|
| Ground Beef 🥩 | 1 ½ lb | Lean or regular, 80/20 preferred |
| Yellow Onion 🧅 | 1 whole | Medium size, diced |
| Carrots 🥕 | 3 medium | Peeled and sliced into rounds |
| Frozen Peas 🌱 | 1 cup | Thawed, no need to drain |
| Russet Potatoes 🥔 | 2 lb | Medium size, peeled |
| Whole Milk 🥛 | ½ cup | Full-fat for creaminess |
| Unsalted Butter 🧈 | ½ cup | Cold, cut into cubes |
| Cream Cheese 🧀 | 8 oz | Full-fat, room temperature |
| Beef Broth 💧 | 1 cup | Low-sodium preferred |
| All-Purpose Flour 🌾 | 1 tbsp | For thickening gravy |
| Garlic Cloves 🧄 | 3 cloves | Minced for flavor |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Ground Black Pepper 🌶️ | ½ tsp | Freshly ground preferred |
| Worcestershire Sauce 🍯 | 1 tbsp | For depth of flavor |
The potatoes are everything here—Russet is your best bet for that flaky texture. Grab a 2-pound bag from the grocery store, but if you're feeling fancy, organic potatoes from Whole Foods make it even better. Peeled and boiled until tender, then mashed with butter and cream cheese (the full-fat kind—none of that low-fat nonsense). The secret? Don’t overmix—lumpy is good. For the beef, 80/20 ground chuck gives the most flavor, but lean works if you're watching fat. I usually get mine from Costco in bulk, but any supermarket has it.
No beef broth? Chicken broth with a splash of soy sauce works in a pinch. Worcestershire sauce missing? Extra soy sauce plus a pinch of sugar mimics it. Frozen peas are fine, but if you've got fresh, snap peas or garden peas add a nice texture contrast. The carrots can be baby carrots if that's what you've got—just slice them thinner. For the mashed potatoes, cream cheese is non-negotiable—it’s what gives Joanna’s version that signature richness. No cream cheese? Extra butter plus sour cream gets you close, but it won’t be the same. And trust me, the extra minute to mash the potatoes by hand makes all the difference.
This keeps 3-4 days in the fridge, but honestly, it’s even better the next day. The topping stays crispy if you reheat it covered for 10 minutes, then uncovered for 5. For leftovers, I portion it into single-serving containers so it’s ready for lunches. Freezes beautifully too—up to 3 months—just thaw overnight in the fridge before reheating. The filling reheats well, but the topping might get soggy if you microwave it straight from frozen, so plan ahead.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe because it’s actually one-pan—no fancy dishes, no stress. Just brown the beef with onions and carrots, toss in the peas, then smother it all under mashed potatoes. The oven does the rest while I wipe crumbs off the counter.
- Creamy-Crispy Perfection: That golden crust on top? Chef’s kiss. The Russets get fork-mashed with butter and milk, then baked until blistery, while the filling stays juicy. Honestly, the first time I made it, my husband asked for seconds before I even sat down.
- Weeknight Workhorse: Between us, this is my go-to when I’ve got a soccer game, a last-minute dinner guest, or just zero energy. Double the batch, reheat portions all week, or freeze half—it’s the only casserole that tastes better the next day (yes, even on a Tuesday night).
- Budget-Friendly Feast: Ground beef stretches with onions and carrots, peas add bulk, and potatoes turn scraps into a meal. I’ve fed four people for under $10, and they’ve never complained. Not the prettiest, but the taste makes up for it every time.
Step-by-step instructions for Joanna Gaines' shepherd's pie
Here's how to build that perfect flaky crust over rich, savory filling—just like Joanna makes it.
Cook the Ground Beef and Veggies
In a large skillet over medium-high heat, add the 1.5 lb ground beef and cook until it loses its raw color, breaking it apart with a wooden spoon. You'll see it start to brown in about 5-6 minutes—this is when all that meaty flavor begins to develop.
Push the beef to one side of the pan and add the 0.5 cup unsalted butter. Toss in the diced 1 whole yellow onion and sliced 3 medium carrots. Cook for 5 minutes until the onions soften and the carrots begin to caramelize slightly. Stir in the 3 minced garlic cloves and cook for another 30 seconds until fragrant.
Pour in the 1 cup beef broth and add the 1 tbsp Worcestershire sauce. Scrape up any browned bits from the bottom of the pan—they're packed with flavor. Bring to a simmer and cook for 5 minutes until the liquid reduces slightly. Season with 1.5 tsp salt and 0.5 tsp ground black pepper, then stir in the 1 cup thawed frozen peas. Remove from heat and set aside.
Prepare the Creamy Filling
In a medium bowl, combine the cooked beef and vegetable mixture with the 8 oz room temperature cream cheese. Stir until the cream cheese melts completely into the beef mixture, creating a thick, velvety filling. This step is what makes Joanna's version so rich and satisfying.
Taste the mixture and adjust seasoning if needed—you might want to add a pinch more salt or pepper. Spread this filling evenly into a 9x13-inch baking dish. The layer should be about ½-inch thick, covering the entire bottom. This even distribution ensures every bite has that perfect combination of meat and veggies.
Boil and Mash the Potatoes
While the filling cools slightly, peel the 2 lb russet potatoes and cut them into 2-inch chunks. Place them in a large pot and cover with cold water by about 1 inch. Bring to a boil over high heat, then reduce to a gentle simmer and cook for 15-20 minutes until the potatoes are fork-tender.
Drain the potatoes thoroughly, then return them to the pot. Add the 0.5 cup whole milk and mash until completely smooth. The potatoes should be light and fluffy—no lumps allowed. Stir in the 0.5 cup unsalted butter until it melts completely into the mashed potatoes. This butter creates that signature flaky, golden crust we're after.
Season the mashed potatoes with an additional ½ tsp salt if needed. The mixture should be hot but not scorching—you want it warm enough to spread easily but not so hot it burns when you touch it.
Assemble and Bake for Golden Perfection
Spread the mashed potatoes evenly over the beef filling in the baking dish, creating a smooth, even layer. Use a spatula to create some texture on top—this helps the crust develop better. The key to that beautiful flaky topping is pressing down firmly with the back of a spoon to create ridges.
Transfer the baking dish to a preheated oven at 375°F. Bake for 30 minutes until the top is golden brown and the edges are crisping. Here's the thing—don't overbake. You want that crust to be flaky and golden, not dry and browned.
Let the shepherd's pie rest for 10 minutes before serving. This resting time allows the filling to set slightly, making it easier to slice and preventing any potential mess when you cut into it. The flaky crust should hold together beautifully, sealing in all that rich, savory goodness below.
Pro Tips For Making Joanna Gaines Shepherd'S Pie
- CRISP THE POTATOES: DESCRIPTION:
- BROWN THE BEEF: DESCRIPTION:
- SALT THE PEAS: DESCRIPTION:
- PRESS THE TOP FLAT: DESCRIPTION:
Perfect pairings for this recipe
Classic Side Pairings
Start with a simple arugula salad tossed with 1 tbsp lemon juice, 2 tbsp olive oil, and a pinch of flaky sea salt. The peppery greens cut through the richness of the shepherd's pie beautifully.
For a heartier option, serve with crusty sourdough bread—perfect for soaking up any leftover gravy. I always keep a loaf from Whole Foods on hand for this purpose. 🥗
Wine Pairings
A medium-bodied red wine like Pinot Noir or Merlot complements the dish perfectly. The fruity notes in these wines balance the savory filling and creamy topping. For a white option, try a Chardonnay with a touch of oak—its buttery profile mirrors the cream cheese in the recipe.
I love a bottle of La Crema Sonoma Coast Chardonnay for this. 🍷
Beer Pairings
If you prefer beer, a malty amber ale like Fat Tire or Samuel Adams Boston Lager works wonders. The caramel and biscuit notes in these beers pair beautifully with the sweetness of the carrots and the richness of the filling.
For a lighter option, a pilsner like Heineken keeps the palate clean without overpowering the dish. 🍺
Garnish Ideas
Before serving, sprinkle the top with fresh parsley or green onions for a pop of color and freshness. A drizzle of garlic aioli or sour cream adds a creamy contrast. For extra flair, I sometimes add a dusting of smoked paprika—just ½ tsp—for a subtle smoky finish. 💫
Dessert Pairings
End the meal with something light to balance the richness of the shepherd's pie. A warm apple crisp or vanilla ice cream with a drizzle of caramel sauce is a classic choice. For a more elegant touch, serve chocolate-dipped strawberries—the sweetness cleanses the palate beautifully. 🍓
Nutrition facts
Frequently asked questions
Can I make this shepherd's pie ahead of time?
This dish actually tastes even better the next day. Assemble it completely, then refrigerate uncovered for 2-3 hours before baking. The extra time lets flavors meld perfectly. For make-ahead meals, bake it 1 day ahead, cool completely, then store in an airtight container. Reheat covered at 350°F for 20 minutes, then uncovered for 5 minutes to restore that crispy topping.
What's the secret to getting the perfect flaky crust?
The magic happens with butter and cream cheese in the mashed potatoes, plus proper baking technique. Use full-fat butter (no substitutions) and mash the potatoes until completely smooth. Spread them evenly, then press down firmly with a spoon to create ridges. Bake at 375°F for exactly 30 minutes—no longer! The crust should be golden and crispy, not dry.
Can I substitute lamb for beef in this recipe?
Yes! Ground lamb works beautifully and adds a more sophisticated flavor. Use the same amount (1.5 lb) and follow the same cooking instructions. For extra richness, add 1 tsp of ground cumin to the lamb mixture. The texture will be slightly different but equally delicious. Joanna's original recipe uses beef, but lamb is a fantastic variation.
Why did my topping turn out soggy?
Soggy topping usually means one of three things: overbaking, not enough butter, or skipping the rest time. First, check your baking time—30 minutes at 375°F is perfect. Second, ensure you used ½ cup butter in the mashed potatoes. Finally, always let the pie rest for 10 minutes before serving. If it's still soggy, try broiling for 2-3 minutes at the end to crisp it up.
How do I make this vegetarian?
Swap the beef for 1.5 lb of crumbled tempeh or plant-based ground "meat." Use 1 tbsp soy sauce and 1 tsp smoked paprika to mimic the umami flavor. For extra heartiness, add ½ cup cooked lentils to the filling. The mashed potato topping remains the same, and the dish will still be rich and satisfying.
