Vegan Phở

This vegan phở pairs a gently spiced vegetable broth with rice noodles, seasoned vegan beef and fresh garnishes. Charred alliums and toasted spices bring depth to the broth, while the toppings add contrast and freshness.
Ingredients
- 1.8 L (7½ cups)water
- 1, halvedonion
- 3, halvedshallots
- 1, peeled and cut into 2.5 cm-thick slicescarrot
- ½, peeled and cut into 2.5 cm-thick slicesdaikon radish
- 1½ tspsalt
- 1½ tbspsugar
- 1 tspmushroom seasoning (optional)
- 2 tspvegan fish sauce (optional; add more salt to taste if omitting)
- 2.5 cm, sliced into 1.25 cm-thick slicesfresh ginger
- 1 wholeblack cardamom
- 2 stickscinnamon
- 3star anise
- 1 tspwhole cloves
- ½ tspfennel seeds
- 1 tspcoriander seeds
- 12 slices, soaked for 20 minutesvegan beef slices
- 1 tspsugar
- 2 tspsoy sauce
- ¼ tspground black pepper
- 1 tbspoil
- About 285 g (10 oz)dried flat rice noodles
- About 150 g (1 cup)bean sprouts
- About 75 g (½ cup)sautéed mushrooms
- A few slicesfried tofu
- About 35 g (⅓ cup), choppedgreen onions
- A handfulThai basil
- ½, thinly slicedonion
- About 15 g (¼ cup), choppedcilantro or culantro
Instructions
- 1
Char the alliums
Heat a non-stick frying pan over medium-high heat. Place the halved onion and shallots cut-side down and char for 3–5 minutes, until almost black. Alternatively, char them under an oven grill.
- 2
Simmer the broth
Put the charred onion and shallots in a large pan with the carrot, daikon, salt and sugar. Add the water, bring to the boil, then simmer uncovered for 30–35 minutes.
- 3
Toast the spices
Meanwhile, char the sliced ginger in a non-stick frying pan over medium-high heat for 2–3 minutes. Add the whole spices and toast for about 1 minute. Tie the spices and ginger in a tea bag or a piece of cheesecloth.
- 4
Infuse and season
After the broth has simmered for 30–35 minutes, turn off the heat and add the spice bag. Leave to infuse for about 10 minutes, then remove the bag, onion and shallots. Stir in the mushroom seasoning and vegan fish sauce, if using, and adjust the salt and sweetness to taste. Remove the carrot and daikon if you prefer, or leave them in to serve; for broth you plan to refrigerate for a day, remove all the vegetables so they do not absorb liquid.
- 5
Marinate the slices
Drain the soaked vegan beef slices and rinse them under cold water a couple of times. Squeeze out as much moisture as possible, then toss them in a bowl with the sugar, soy sauce and ground black pepper. Leave to marinate for at least 30 minutes, or overnight in the refrigerator.
- 6
Brown the slices
Heat 1 tablespoon of oil in a non-stick frying pan over medium heat. When hot, add the vegan beef slices and cook for 3–5 minutes on each side, until lightly golden.
- 7
Cook the noodles
Bring a large pan of water to the boil. Cook the rice noodles according to the packet instructions, then drain them well.
- 8
Assemble the bowls
Put a handful of raw bean sprouts in each bowl, then add the cooked noodles, vegan beef, fried tofu and sautéed mushrooms, if using. Garnish each bowl with 2 tablespoons of chopped green onions, a few Thai basil leaves, sliced onion and chopped cilantro. Pour the piping-hot broth over the noodles and serve immediately.
What is vegan phở?
Phở is a Vietnamese noodle soup, commonly built around a fragrant broth, rice noodles and fresh garnishes. This vegan version uses charred onion and shallots, root vegetables and a bundle of toasted spices to give the broth its depth.
Vegan beef, tofu, mushrooms and herbs make each bowl hearty and varied. The toppings go in just before serving so the sprouts and herbs stay fresh.
Nutrition and macros by portion
The nutrition label shows one serving as written: 620 calories, 23g protein, 99g carbs, 12g fat.
| Portion | Adjustment | kcal | Protein | Carbs | Fat |
|---|---|---|---|---|---|
| Lighter | More sprouts, fewer noodles | 434 kcal | 16g | 69g | 8g |
| This serving | As written | 620 kcal | 23g | 99g | 12g |
| Hungry | Larger noodle portion | 930 kcal | 35g | 149g | 18g |
Rice noodles provide most of the carbohydrates, while the oil, fried tofu and vegan beef contribute much of the fat and the beef and tofu provide protein. The broth and vegetables add some carbohydrate, fibre and sodium, with the seasoning and soy sauce contributing to saltiness. To balance the bowl, add extra bean sprouts and herbs alongside a moderate serving of noodles.
Build flavour into the broth
Charred alliums: let the cut surfaces darken well in the pan; this adds a roasted note to the simmering broth.
Toasted spices: briefly toast the ginger and whole spices, then contain them in a tea bag or tied cheesecloth. That makes the flavour easy to infuse and the spices easy to remove.
Season to taste
Salt and sweetness: the broth begins with measured salt and sugar, then gets a final adjustment after infusing. Taste before serving, especially if you omit the optional vegan fish sauce or mushroom seasoning.
Spice balance: keep the spice bundle in for the stated 10-minute infusion after cooking. This gives it time to flavour the broth without leaving the whole spices in the finished bowls.
Get the vegan beef ready
Remove moisture: after rinsing the soaked slices, squeeze them firmly before adding the marinade. Less water on the surface helps the seasoning coat them.
Allow time: the slices need at least 30 minutes in the marinade, or can be left overnight in the refrigerator. Brown them in a single layer if needed, so they colour rather than steam.
Noodles and texture
Cook the noodles according to their packet, since thickness and cooking times can differ. Drain them well so excess water does not dilute the broth.
Keep the contrast: raw sprouts, fresh basil and sliced onion go into the bowls with the cooked toppings. Pour the hot broth over everything just before serving.
Serve it straight away
The broth can be prepared ahead, but assemble the bowls when you are ready to eat. The fresh garnishes and noodles are best added just before the hot broth is poured in.
For a more substantial bowl, include the fried tofu and sautéed mushrooms alongside the vegan beef. Keep extra herbs and sprouts on the table for anyone who wants to add more.
Recipe notes & tips
- Cut the alliums evenly so their flat sides make good contact with the pan.
- Use a tied piece of cheesecloth if you do not have a spice tea bag.
- Taste the broth after removing the spice bag before adding extra salt or sugar.
- Squeeze the soaked vegan beef slices well before marinating them.
- Drain the cooked noodles thoroughly before dividing them between bowls.
- Keep the herbs and sprouts uncooked until you assemble the bowls.
Variations
- More mushrooms: add extra sautéed mushrooms to each bowl for a deeper savoury topping.
- Extra greens: serve with additional Thai basil and bean sprouts.
- More tofu: add extra fried tofu slices alongside the vegan beef.
- Fresh chilli: serve sliced chilli on the side for a spicier bowl.
- Culantro swap: use chopped cilantro if culantro is not available, or the other way around.
Common mistakes to avoid
- Pale alliums: char the cut sides until almost black for a more roasted flavour.
- Over-infused spices: remove the spice bag after about 10 minutes of steeping.
- Wet vegan beef: squeeze out the rinsing water before adding the marinade.
- Crowded frying pan: cook the slices in batches so they can brown instead of steam.
- Watery noodles: drain them well before putting them in the serving bowls.
- Soggy garnishes: add the sprouts and herbs at assembly rather than cooking them in the broth.
How to store
The broth keeps for up to 5 days in the refrigerator, as stated in the recipe. For storage, remove the vegetables so they do not absorb broth; reheat the broth until piping hot and cook or assemble the noodles and fresh toppings when serving.
Frequently asked questions
Can I make the broth ahead?
Yes. The broth can be made in advance and refrigerated for up to 5 days. Remove the vegetables before storing so they do not soak up some of the liquid.
Can I marinate the vegan beef overnight?
Yes. After rinsing and squeezing the slices, coat them in the marinade and leave them in the refrigerator overnight.
Do I need the optional mushroom seasoning and vegan fish sauce?
No, both are optional. If you leave out the vegan fish sauce, the recipe suggests adding more salt to taste.
Should I leave the carrot and daikon in the broth?
Either is fine: remove them before serving or leave them in to eat with the soup. If you are storing the broth, remove all the vegetables first.
How do I know when the noodles are cooked?
Follow the packet instructions for your particular rice noodles, then drain them well before assembling the bowls.
Can I use cilantro instead of culantro?
Yes. The recipe gives cilantro or culantro as options for the chopped herb garnish.
Cook it from the original
This recipe comes from fullofplants.com. Their page has the author’s own photos, notes and tips — the best place to cook it from.
Open the recipe on fullofplants.com