Homemade Vegetarian Shepherd’s Pie with Black Beans

Important Note: When you buy through our links, we may earn a commission. As an Amazon Associate we earn from qualifying purchases. Content, pricing, offers and availability are subject to change at any time - more info.

Vegetarian Shepherd’s Pie with Black Beans

Prep Time: 25 minutes
Cook Time: 20 minutes
Total Time: 45 minutes
Servings: 6
Calories: 170kcal


Black Bean Filling

  • 1 TBS extra virgin olive oil or coconut oil
  • 1 medium onion diced
  • 2 cloves garlic minced
  • 2 ribs celery diced
  • 2 medium carrots diced
  • 1 tsp chili powder
  • 1/2 tsp paprika smoked or sweet
  • 1/2 tsp ground cumin
  • 1 15 ounce can of black beans, drained and rinsed
  • 3/4 cup frozen corn kernels thawed
  • 3/4 cup frozen peas thawed
  • 1 TBS all-purpose flour
  • 1 cup vegetable broth
  • 3 TBS tomato paste
  • 1 TBS fresh lime juice
  • 2 TBS fresh cilantro leaves chopped finely
  • Sea salt and freshly ground pepper to taste

Sweet Potato Topping

  • 3 medium-large sweet potatoes peeled and sliced into chunks
  • 2 TBS vegan “butter” butter for vegetarian
  • 1/4 to 1/3 cup non-dairy “milk” whole milk for vegetarian
  • Sea salt and freshly ground pepper to taste
  • 2 TBS fresh parsley leaves chopped
  • 1-1/2 TBS nutritional yeast optional (grated cheese for vegetarian)


  • Place the sweet potatoes in a stockpot and cover them with water. Bring to a boil over high heat. Lower the heat to a rolling simmer and cook until tender, approximately 15 to 20 minutes. Prepare the pie filling while the potatoes are cooking.
  • In a large skillet over medium-high heat, warm up the oil. Add the onion, garlic, celery, and carrots and sauté for about 5 to 8 minutes until the onions are soft.
  • Stir in the chili powder, paprika, cumin, beans, corn, and peas. Cook for an additional 5 minutes, until the vegetables are slightly tender.
  • Add flour to the vegetables and stir to coat everything evenly. Add the broth, tomato paste, lemon juice, and cilantro. Stir to dissolve the paste. Heat through for an additional 2 minutes. Season with salt and pepper to taste. Take off the heat and set aside.
  • Preheat your oven to 375°F.
  • Drain the liquid from the potatoes through a colander. Place the potatoes back in the pot and mash them by hand. Add the non-dairy milk, vegan “butter”, parsley, and nutritional yeast (if using) and continue to mash until well incorporated and the potatoes are smooth and creamy. Season with salt and pepper to taste.
  • Place the pie filling in a large baking dish. Use a slotted spoon if there is an excess of liquid in the skillet. Spread the potatoes evenly over the top of the filling.
  • Put the baking dish on the upper rack of the oven and bake for approximately 20 minutes or until the potato topping is golden brown and the filling is bubbling.
  • Serve while hot with a side salad and garlic toasts for sopping up the sauce.



Calories: 170kcal | Carbohydrates: 24g | Protein: 7g | Fat: 6g | Saturated Fat: 1g | Polyunsaturated Fat: 2g | Monounsaturated Fat: 3g | Trans Fat: 1g | Sodium: 326mg | Potassium: 434mg | Fiber: 7g | Sugar: 5g | Vitamin A: 4172IU | Vitamin C: 15mg | Calcium: 50mg | Iron: 2mg

I make vegetarian or vegan shepherd’s pie on a regular basis, especially in winter. It is my go-to Friday night dinner when I am expecting guests and need an easy and welcoming meal to start off the weekend.

I have almost always made this pie with lentils as the filling base and cauliflower puree as the topping. No one ever misses the meat in the filling or the mashed white potatoes as the topping.

This particular recipe is a Southwestern spin on my usual vegetarian shepherd’s pie. It has black beans, corn, and peas in the filling along with some smoky spices. We have had such an abundance of good corn this summer, due to a mild winter and just the right amount of rain. Even the frozen corn is amazingly tasty this year. It is a perfect, albeit not traditional, addition to the filling.

The topping is made with sweet potatoes. I really like that because sweet potatoes mash easily and end up being especially creamy. And, they have a brilliant color that works with the black beans. I also think they just taste great with the spices in the filling. There is a unique balance in this pie of savory and sweet flavors with some mild heat.

The recipe ingredients are vegan with vegetarian dairy options so you can tailor them to your particular diet. If you enjoy this shepherd’s pie, you would likely also enjoy my recipe for vegan moussaka with a mushroom filling.

Notes & Tips

The ingredient list in this recipe might look daunting at first. Don’t let that discourage you from making this shepherd’s pie. Most of the ingredients you likely have in your vegetarian pantry, refrigerator, freezer, and spice rack. There isn’t anything unusual or exotic. And, several ingredients are either canned, frozen, or boxed. Of course, many of the vegetables are fresh as well.

You will need a baking dish that is large enough to hold the pie. The filling and topping equal approximately 4 to 5 cups. I think a 9 x 13-inch glass baking dish is a pretty good option.


The recipe ingredients offer options for either a vegan or vegetarian shepherd’s pie.

The saucy component of this pie needs a little flour or other starch to help it thicken. All-purpose flour works really well. I have successfully used brown rice flour for a gluten-free version. The texture of brown rice flour doesn’t appeal to some people. If that is the case, you can try a little kudzu root powder or tapioca starch.

I love the little bit of tooth or chew to black beans that adds texture to the dish, along with the corn kernels. If I were to use any other bean, it would likely be red kidney beans for their firmness and deep color.

If you are making this in the Spring, see if you can find some fresh English peas – my favorite vegetable. If you are baking a shepherd’s pie in summer, fresh corn cut from the cob would be wonderful. I sometimes skip the tomato paste when I have access to really fresh, ripe tomatoes. If using fresh tomatoes, substitute 1 cup of well-chopped tomatoes in place of the tomato paste. You may have to add a touch more flour due to the juice in the tomatoes.

Recent Recipes