Classic, Savory Shepherd's Pie
A cozy baked casserole with rich meat sauce, peas and carrots, finished with creamy mashed potatoes and a browned Parmesan top.
Prep 40 min · Cook 1 hr 30 min · Total 2 hr 30 min · Makes 8 servings

Ingredients
- For the mashed potatoes:
- 3 1/2 pounds russet potatoes, peeled and cut into 1-inch pieces
- Kosher salt
- 6 tablespoons unsalted butter, cubed
- For the meat sauce:
- 1 1/2 cups homemade or store-bought low-sodium chicken stock
- 2 packets unflavored gelatin
- 2 tablespoons vegetable oil
- 2 1/2 pounds ground beef or lamb, or some combination
- 1 large yellow onion, diced
- 3 medium carrots, diced
- 2 ribs celery, diced
- 2 medium cloves garlic, minced
- 2 tablespoons tomato paste
- 1 cup dry red wine
- 2 sprigs thyme
- 1 bay leaf
- 1 tablespoon Worcestershire sauce
- 1 teaspoon Marmite, optional
- 2 tablespoons all-purpose flour
- 8 ounces frozen peas
- Kosher salt and freshly ground black pepper
- To Assemble:
- 1 1/2 cups heavy cream
- Grated Parmigiano-Reggiano cheese, for topping, optional
Directions
- For the mashed potatoes, put the potato cubes in a colander and wash them with cold water until the water is clear. Move them to a large saucepan, add enough cold water to cover them by at least 2 inches, and salt the water until it tastes nearly as salty as the sea. Bring to a boil over high heat, then turn the heat down to medium-low and cook at a gentle simmer until a knife slides through the potatoes without resistance, 10 to 15 minutes. Drain them in the colander, rinse under hot running water for 30 seconds, and transfer them to a large bowl.
- Mash the potatoes together with the butter, using a potato masher, food mill, or ricer. Smooth the top, then lay plastic wrap directly on the potato surface so a skin does not form. Set the bowl aside until you are ready to assemble.
- Meanwhile, start the meat sauce. Pour the stock into a 2-cup liquid measuring cup, scatter the gelatin over the top, and leave it to sit.
- Warm the oil in a large Dutch oven over high heat until it shimmers. Add half the ground meat and cook, stirring and scraping the bottom as you go, until it is nicely browned, 6 to 8 minutes; a potato masher or large whisk works well for breaking it apart. Add the remaining meat and keep cooking, breaking it into small pieces with the masher or whisk, about 3 minutes; reduce the heat if the pot starts to scorch. If there is far too much rendered fat, spoon out most of it with a metal spoon, leaving only a few tablespoons behind. Stir in the onion, carrots, celery, and garlic, scraping the bottom of the pot, and cook until the vegetables are just starting to soften, about 4 minutes.
- Stir in the tomato paste and cook over medium heat for 1 minute. Pour in the red wine, raise the heat to high, and bring it to a simmer. Cook, scraping up the browned bits from the pot, until the wine has almost completely cooked away. Add the reserved chicken stock, thyme, bay leaf, Worcestershire, and Marmite, if using. Sprinkle the flour over the meat mixture and stir it in. Bring everything back to a simmer, then lower the heat and cook until the sauce has thickened and reduced, about 20 minutes. Remove and discard the thyme sprigs and bay leaf. Stir in the peas, then season with salt and pepper.
- To assemble and bake, place an oven rack in the center position and preheat the oven to 425 degrees F (218 degrees C). Just before assembly, warm the cream in a large saucepan until it reaches a simmer. Add the potatoes and stir gently until the mixture is fully combined. Season with salt and pepper. The potatoes are ready to use.
- Place a 9- by 13-inch baking dish on a rimmed baking sheet lined with foil. Spoon in the meat sauce, taking care not to fill the dish more than halfway. Depending on the exact dimensions of the dish, you may have some sauce left over. Add the mashed potatoes on top and use a spatula to spread them all the way to the edges. With the spatula, make a dappled texture across the potatoes. Add grated Parmesan cheese, if using.
- Bake until the top is browned and the casserole is hot all the way through, about 20 minutes. If you want more color, move the casserole to a rack about 6 inches below a hot broiler for the final moments of cooking, watching carefully so the potatoes do not burn.
- Rest the casserole for 15 to 20 minutes before serving. You can assemble the casserole ahead, cover it with plastic wrap, and refrigerate it up to 2 days. Reheat it in a 350 degrees F oven for about 35 minutes, then brown the top under the broiler.