Quick Recipe Version (TL;DR)
Quick Ingredients
- 2 lb russet potatoes, peeled and cubed
- 4 tbsp unsalted butter (for mash) + 1 tbsp butter (optional for topping)
- 1/2 cup whole milk, warmed
- 1/4 cup sour cream
- 1 large egg yolk
- Kosher salt and black pepper
- 1 tbsp olive oil
- 1.5 lb ground beef (80/20)
- 1 large yellow onion, finely chopped
- 2 garlic cloves, minced
- 2 tbsp all-purpose flour
- 2 tbsp Worcestershire sauce
- 1 cup beef stock
- 1 tsp dried thyme; 1 bay leaf (optional)
- 2 cups sweet corn kernels (thawed or canned and drained)
- Chopped parsley or chives, for garnish (optional)
Do This
- 1. Heat oven to 425°F. Boil potatoes in salted water until tender, 12 to 15 minutes.
- 2. Brown beef and onions in olive oil over medium-high heat; add garlic for 30 seconds.
- 3. Stir in flour, then Worcestershire, stock, thyme, and bay; simmer 5 to 7 minutes to a glossy gravy. Season.
- 4. Drain potatoes; mash with 4 tbsp butter, warm milk, sour cream, yolk, salt, and pepper until smooth.
- 5. In a 9×13-inch dish, spread beef mixture, layer corn, then top with mashed potatoes; rough up with a fork. Dot with butter if desired.
- 6. Bake 20 to 25 minutes until bubbling and golden; broil 1 to 2 minutes if needed. Rest 10 minutes, garnish, and serve.
Why You’ll Love This Recipe
- Classic New England comfort: savory beef-and-onion gravy, sweet corn, and a bronzed, buttery potato crown.
- Weeknight-friendly with pantry staples and simple techniques.
- Kid-approved flavors, but grown-up depth from Worcestershire and thyme.
- Make-ahead and freezer friendly for stress-free dinners.
Grocery List
- Produce: Russet potatoes, yellow onion, garlic, parsley or chives
- Dairy: Unsalted butter, whole milk, sour cream, 1 egg
- Pantry: Ground beef, olive oil, all-purpose flour, Worcestershire sauce, beef stock, dried thyme, bay leaf, sweet corn, kosher salt, black pepper
Full Ingredients
Mashed Potato Topping
- 2 lb russet potatoes, peeled and cut into 1-inch cubes
- 4 tbsp unsalted butter, cut into pieces
- 1/2 cup whole milk, warmed
- 1/4 cup sour cream
- 1 large egg yolk
- 1 1/4 tsp kosher salt, plus more for the potato water
- 1/4 tsp freshly ground black pepper
Beef and Onion Filling
- 1 tbsp olive oil or 1 tbsp unsalted butter
- 1.5 lb ground beef (80/20), excess fat drained
- 1 large yellow onion, finely chopped (about 1 1/2 cups)
- 2 garlic cloves, minced
- 2 tbsp all-purpose flour
- 2 tbsp Worcestershire sauce
- 1 cup beef stock or broth
- 1 tsp dried thyme
- 1 bay leaf (optional)
- 3/4 tsp kosher salt, or to taste
- 1/2 tsp freshly ground black pepper
Corn Layer and Assembly
- 2 cups sweet corn kernels (thawed frozen or well-drained canned)
- Up to 1 tbsp unsalted butter, for tossing the corn and dotting the top (optional)
- 1 tbsp chopped fresh parsley or chives, for garnish (optional)

Step-by-Step Instructions
Step 1: Heat oven and start the potatoes
Preheat the oven to 425°F with a rack in the middle. Place the potatoes in a large pot and cover with cold water by 1 inch. Salt the water generously (it should taste like the sea). Bring to a boil, then reduce to a lively simmer and cook until the potatoes are very tender when pierced with a knife, 12 to 15 minutes.
Step 2: Brown the beef and soften the aromatics
While the potatoes cook, heat the olive oil in a large skillet over medium-high heat. Add the onion and cook, stirring, until translucent and lightly golden at the edges, 5 to 7 minutes. Add the garlic and cook 30 seconds. Push the onions to the edges, add the beef, and cook, breaking it into crumbles, until browned with no pink remaining, 5 to 7 minutes. Drain off excess fat if needed.
Step 3: Build a quick gravy
Sprinkle the flour over the beef and cook, stirring, for 1 minute. Stir in the Worcestershire, then pour in the beef stock. Add the thyme, bay leaf (if using), 3/4 tsp salt, and 1/2 tsp pepper. Bring to a simmer and cook until glossy and thickened enough to coat a spoon, 5 to 7 minutes. Taste and adjust seasoning. Remove and discard the bay leaf. Take off the heat.
Step 4: Mash the potatoes until silky
Drain the potatoes well and return them to the hot pot. Let them steam off excess moisture for 1 minute. Mash until smooth, then add the 4 tbsp butter, warm milk, sour cream, egg yolk, 1 1/4 tsp salt, and 1/4 tsp pepper. Stir just until creamy and spreadable; avoid overmixing.
Step 5: Layer the pie
In a 9×13-inch baking dish (or a 2 1/2- to 3-quart casserole), spread the beef mixture in an even layer. Scatter the corn evenly over the top; toss the corn with a bit of butter if you like. Dollop the mashed potatoes over the corn and gently spread to the edges to seal. Use a fork to create ridges for better browning. Dot with a few bits of butter if desired.
Step 6: Bake until bronzed
Bake for 20 to 25 minutes, until the edges are bubbling and the top is lightly golden. For deeper color, broil for 1 to 2 minutes, watching closely so it does not burn.
Step 7: Rest and serve
Let the pie rest for 10 minutes to set. Sprinkle with chopped parsley or chives and serve warm.
Pro Tips
- Start potatoes in cold, well-salted water so they cook evenly and are well seasoned from within.
- Warm dairy makes smoother mash; the egg yolk adds richness and helps the top brown beautifully.
- Reduce the beef mixture until it is saucy, not soupy; a thick gravy prevents a watery pie.
- Use a 9×13-inch pan for maximum bronzing and a balanced ratio of filling to potatoes.
- Roughing the potato surface with a fork creates peaks that crisp and brown in the oven.
Variations
- True Shepherd’s Pie: Swap ground beef for ground lamb and add 1 tsp chopped fresh rosemary.
- Cheddar-Chive Topping: Fold 1 cup shredded sharp cheddar and 2 tbsp chopped chives into the mash.
- Guinness and Mushroom: Add 8 oz sliced mushrooms with the onions and replace 1/2 cup stock with stout; reduce until glossy.
Storage & Make-Ahead
Refrigerate leftovers, tightly covered, for up to 4 days. Reheat covered at 350°F until hot, 20 to 25 minutes, then uncover to re-crisp the top. To make ahead, assemble up to 24 hours in advance; cover and refrigerate. Bake straight from the fridge at 400°F for 30 to 35 minutes, then brown under the broiler if needed. To freeze, wrap tightly and freeze up to 2 months. Bake from frozen at 375°F, covered, for 60 to 75 minutes, then uncover to brown for 10 minutes, or thaw in the fridge overnight and bake 30 to 35 minutes at 400°F.
Nutrition (per serving)
Approximate values for 1 of 6 servings: 620 calories; 31 g protein; 33 g fat; 53 g carbohydrates; 4 g fiber; 870 mg sodium. Nutrition will vary with brands and exact ingredients.


Leave a Reply