Warm up your St. Patrick's Day with this vegetarian shepherd's pie with hearty tofu and a golden topping.

March in our house carries that in-between feeling. The coats still hang by the door, though the sun stays a little longer in the afternoon.
St. Patrick's Day arrives with paper shamrocks taped to the wall and Lin asking whether everything we eat must be green. Leo votes for potatoes, and my husband laughs because he knows that means something baked and generous is coming to the table.
This vegetarian shepherd's pie would never pass a strict grandmother's inspection. There is no lamb, no beef. There is also no lecture about it. What matters stays intact: a deeply savory filling, and a thick layer of mashed potatoes baked until the edges turn golden and crisp.

Shepherd's pie traditionally leans on lamb. Cottage pie carries beef. But in our kitchen, extra-firm tofu takes that place. When pressed properly and crumbled by hand, it behaves with surprising grace.
The pieces stay irregular, catching in the pan and browning at the edges. That browning changes everything. It gives the tofu weight and character before broth ever touches it. A spoonful of tomato paste and a splash of soy sauce do their quiet work, building depth the way my grandmother built flavor in her cabbage rolls.
Around this time of year, I often cook a pot of vegetarian Irish colcannon, folding greens into mashed potatoes until they turn pale green and fragrant. If not that, these vegetarian cabbage rolls, their tender leaves wrapped around rice and vegetables. There are also Russian vegetarian vareniki resting in the freezer, if I want the taste of something similar my grandmother made
This tofu shepherd's pie. It comes out of the oven with bubbling edges and a top marked by fork ridges, and for a few minutes the kitchen grows quiet except for the sound of serving spoons scraping the dish. A dish sturdy enough for March.
Ingredients

- Extra-Firm Tofu - This is the foundation of the filling and the reason this vegetarian shepherd's pie works at all. Extra-firm tofu holds its shape after pressing and browning, giving you that hearty, spoonable texture that traditional shepherd's pie gets from lamb. Softer tofu releases too much moisture and turns the base loose. If tofu is unavailable, finely chopped mushrooms combined with cooked lentils can step in, though the texture will be softer and earthier. Tempeh also works, crumbled and browned the same way, though it carries a stronger flavor.
- Potatoes - Creates the defining top layer. Russets yield a lighter, fluffier mash that browns beautifully at the peaks. Yukon Gold produces a creamier topping with richer flavor. Both bake well and hold structure when spread across the filling. Avoid waxy red potatoes here, as they can turn dense when mashed.
- Vegan Butter and Plant Milk - These bring creaminess to the mashed potatoes. Vegan butter adds richness similar to traditional dairy versions. Olive oil can replace it, though the flavor shifts slightly. Any neutral plant milk works; oat milk is especially reliable for its body. Unsweetened varieties are essential so the topping stays savory.
See the recipe card for full list and exact quantities.
How to Make Vegetarian Shepherd's Pie Recipe

This vegetarian shepherds pie follows the structure of the Irish classic, with attention paid to texture at every stage. The goal is a thick, cohesive filling and a potato topping that stays fluffy on top while sealing the base underneath. Here's how to make this vegetarian recipe:
Cook the Potatoes Until Truly Tender

- You are looking for potatoes that yield easily when pierced with a fork, with no resistance in the center. If you feel a firm core, give them more time. Undercooked potatoes turn lumpy when mashed. Overcooked potatoes can absorb too much water and become gluey later.
- Drain thoroughly and let them sit in the colander for a minute so excess steam escapes. Wet potatoes lead to loose mash.
Mash Until Smooth but Not Sticky

- If the mash feels stiff and dry, add plant milk slowly. If it starts looking shiny and elastic, stop mixing. Overworking potatoes activates starch and makes them heavy. Season now so the topping carries flavor all the way through. Set aside while you prepare the filling.
Preheat the Oven
- Set the oven to 400°F. A fully heated oven is important because this dish relies on top browning. If the oven runs cool, the filling may overcook before the potatoes color.
Press the Tofu Thoroughly

- If tofu is not pressed well, it releases liquid in the pan and steams instead of browning. When properly pressed, it should feel firmer and slightly drier on the surface.
Build the Vegetable Base

- They should soften gradually and turn slightly translucent, with carrots losing their raw edge but keeping shape.
- If they brown too quickly, lower the heat. Burned onion adds bitterness. If they remain pale and rigid, they need more time.
Add Garlic Briefly

- This happens quickly. Garlic should smell mellow and aromatic, not sharp. If it darkens, it can turn harsh, so keep this step short.
Brown the Tofu Properly


- You are looking for light golden edges. If you stir constantly, it stays pale. Browning builds depth and keeps the filling from tasting flat. The tofu should look slightly firmer and less white when ready.
Add Herbs and Tomato Paste

- Let the tomato paste cook briefly before adding liquid. It should darken slightly and coat the tofu.
- If the mixture looks dry at this stage, that is fine. You are concentrating flavor before loosening it with broth.
Simmer Until Thick


- The mixture should bubble gently, not boil aggressively. As it cooks, the liquid reduces and thickens.
- You want a spoon dragged across the pan to leave a brief trail before filling back in. If it looks soupy, cook longer. If it becomes dry and sticks, lower heat and add a splash of broth.
Assemble with a Proper Seal


- This keeps the filling from bubbling up and breaking through.
- If the potatoes are too stiff to spread smoothly, they have cooled too much. Warm slightly and loosen with a spoonful of plant milk.
Create Texture on Top


- These ridges catch heat and brown beautifully. Without them, the top can stay pale.
Bake Until Golden and Bubbling
- Place the dish in the oven and bake about 25 minutes. The edges should bubble steadily, and the top should develop golden spots, especially on the ridges.
- If the top browns before the filling bubbles, your oven runs hot. Lower the rack slightly. If after 25 minutes there is no color, give it more time. The filling should look thick and set, not loose.
Let It Rest Before Serving

- During this time, the filling firms up further and slices hold their shape.
- If cut immediately, the layers may slide. After resting, you should be able to scoop portions that show defined layers of vegetable filling and potato topping.
Storage

Let the pie cool, then cover tightly or transfer to an airtight container. Store up to 4 days. Reheat in the oven at 350°F for best texture; microwave works for individual portions.

This can be frozen baked or unbaked for up to 2 months. Wrap tightly in plastic and foil or use freezer-safe containers. Thaw overnight in the fridge and bake or reheat as usual. Mashed potatoes may soften slightly after freezing.
Top Tips
Press the Tofu Well - try to remove as much moisture as possible is the key. If the tofu is too wet, it steams instead of browns, and the filling will be watery. A firm press for 15-20 minutes makes all the difference.
Brown Before Simmering - I let the crumbled tofu and vegetables develop color in the pan before adding broth. This step builds depth and prevents the filling from tasting flat.
Recipe
Tried and loved this recipe? Please leave a 5-star review below! Your reviews mean a lot to me, so if you've got any questions, please let me know in a comment.
Vegetarian Shepherd's Pie
Equipment
- Large skillet
- Fork
Ingredients
Tofu Filling:
- 1 tablespoon olive oil
- 1 large onion diced
- 2 carrots peeled and diced (~1 cup)
- 2 cloves garlic minced
- 2 blocks 14-16 oz each extra-firm tofu, pressed and crumbled
- 1 teaspoon dried thyme
- 1 teaspoon dried rosemary
- ½ cup frozen peas
- 2 tablespoons tomato paste
- 1 tablespoon soy sauce or tamari
- 1 tablespoon nutritional yeast optional
- 1 cup vegetable broth
- Salt and black pepper to taste
Potato Topping:
- 2 pounds potatoes peeled and quartered (Russet or Yukon Gold)
- 4 tablespoons vegan butter or olive oil
- ½ cup plant milk oat, almond, or soy
- Salt and black pepper to taste
- Paprika for garnish
Instructions
- Place the potatoes in a pot and cover with cold water. Bring to a boil, then reduce heat and simmer until the potatoes are fork-tender, about 15-20 minutes.
- Drain the potatoes and mash them with vegan butter and plant milk until smooth. Season with salt and pepper. Set aside.
- Preheat your oven to 400°F (200°C).
- Press the tofu to remove excess moisture: wrap in clean kitchen towels and place something heavy on top for 15-20 minutes.
- Heat olive oil in a large skillet over medium heat. Add the onion and carrots, and cook until softened, about 5 minutes.
- Add the minced garlic and cook for another minute.
- Crumble the pressed tofu into the skillet with your hands, creating a texture similar to ground meat. Cook for 5-7 minutes until it begins to brown slightly.
- Stir in the thyme, rosemary, tomato paste, soy sauce, and nutritional yeast (if using). Cook for a few minutes.
- Pour in the vegetable broth and bring to a simmer. Let the mixture cook until slightly thickened, about 10 minutes. Stir in the frozen peas and season with salt and pepper to taste.
- Transfer the tofu filling to a baking dish. Spread the mashed potatoes on top, creating a seal around the edges to prevent the filling from bubbling up.
- Use a fork to create ridges on the mashed potatoes, which will help them brown. Sprinkle with a little paprika for color.
- Place the baking dish in the preheated oven and bake for about 25 minutes, or until the top is golden brown and the edges are bubbling.
- Let the Shepherd's Pie cool for a few minutes before serving.


