This rich, flavorful vegan shepherd's pie recipe combines traditional elements with a dash of greens and toothsome tofu. It's deliciously hearty and one of my family's favorite meals!
Any time the temperatures begin to dip in Atlanta, my family requests a vegan shepherd's pie for supper. And I'm happy to oblige. This recipe takes about an hour and change to make, but there isn't a lot of active cooking time.
That means I can fix myself a tea and relax while I cook at a nice, leisurely pace. Perfect for a weeknight, when I don't want to work hard in the kitchen.
Table of Contents
What's a shepherd's pie?
A traditional shepherd's pie is "a meat pie with a mashed potato crust." And I'll confess something now: I've never had a shepherd's pie with meat in it before.
My very first shepherd's pie was vegan, and I ate it at Crank's in London when I visited with my family in the 90s. It was a life-changer, y'all. My vegan shepherd's pie recipe is based on my memory of that first mashed-potato-creamy, veggie-packed bite.
Instead of piling on the meat, this shepherd's pie is loaded with greens and firm, diced tofu. It's still full of the veggies you'd expect in a more conventional shepherd's pie, like peas, corn, and carrots.
And, of course, it still has a dreamy, creamy mashed potato crust.
Pressing the tofu
Pressing your tofu well is critical for this recipe, since the tofu is meant to give this casserole the toothsome texture that traditionally comes from meat. I love to press my tofu using my EZ Tofu Press.
The EZ Tofu Press is faster than weighted pressing, and it does a great job of maintaining your tofu block's shape, so you can dice it into perfect cubes for this dish.
You can get as much as a half cup of water out by pressing with the EZ Tofu Press. I have measured it!
What I love most about this recipe is how easy is is to make. You even save a dish by baking the pie in the same Dutch oven (or other oven-safe dish) that you use to sauté the veggies.
To make the shepherd's pie, saute the onions, carrots, and garlic. Then add the tofu and the rest of the veggies along with veggie broth, water, and a bit of flour.
Simmer for a few minutes as the veggie turn tender and the broth thickens up to make a flavorful gravy.
Once the veggies and tofu are cooked, pile on those rich, vegan mashed potatoes, and you're ready to bake.
Vegan shepherd's pie recipe
For the mashed potatoes
- 4 cups diced red or yukon gold potatoes - cooked and drained
- ¾ cup soy or oat milk
- 2 tablespoons olive oil
- 2 tablespoons nutritional yeast
- ½ teaspoon garlic powder
For the tofu filling
- 2 additional tablespoons olive oil - to saute
- 1 block firm or extra firm tofu - pressed and diced into ¼" cubes
- 1 cup chopped sweet onion
- 1 cup chopped carrots
- 3 cloves garlic - minced
- 4 packed cups baby kale or chopped dinosaur kale
- ½ cup corn kernels – fresh - frozen, or canned is fine
- ½ cup frozen peas
- 1 cup water
- 1 cube Not Chick'n Bouillon - (or your favorite veggie bouillon cubes)
- 2 tablespoons all purpose flour - You can use chickpea flour, for a gluten-free option.
- 1 tablespoon vegan Worcestershire sauce
- 1 teaspoon dried rosemary
- 1 teaspoon dried thyme
- Preheat the oven to 350F.
Make the mashed potatoes.
- In a large bowl, mash up the potatoes with the soy milk, olive oil, nutritional yeast, and garlic powder. Season with salt and pepper, to taste. Set this aside.
Make the vegan shepherd's pie.
- In a Dutch oven (or any pan that can go stovetop to oven), heat the remaining 2 tablespoons of olive oil on medium high heat. Add the tofu, onions, carrots, and garlic, and cook, stirring occasionally, until the onions turn translucent, about 5-7 minutes.
- Cook for a few minutes, then add the remaining ingredients. Bring to a boil, then reduce the heat and simmer, uncovered, until the gravy thickens and the kale wilts, about 5 minutes.
- Turn off the heat. Spread the mashed potatoes over the top of your veggies, and transfer the pot to the oven.
- Bake for 30 minutes, until it's nice and bubbly. Serve hot.
- Add them to the Instant Pot with ½ cup of water. Cook at high pressure for 5 minutes, then do a 10-minute natural release.
- Add the cubed potatoes to a pot with enough water to cover them by about an inch. Bring to a boil and cook for 10-15 minutes, until they're fork-tender.