Vegan XO Noodles with Smoked Tofu

Close up of XO noodles with crispy tofu.

This post was created in collaboration with Opies. I don’t know why, but when I’m done with all the Christmas food, I simply crave Asian and Asian-inspired flavours like this big, saucy, slightly dirty bowl of Vegan XO Noodles. Packed out with crispy cubes of meaty smoked tofu and plenty of seasonal shredded cabbage it’s also much lighter for you than you’d expect – perfect for when you’ve over-indulged.

It is also much easier to make than you’d think seeing the long list of ingredients – yes, it is slightly more involved than the sort of stir fry I usually go for, but you can also make the vegan XO sauce in advance, taking this recipe back again to be the sort of thing you can throw together at the last minute when you want a lighter but still satisfying dinner. Perfect for this time of year, wouldn’t you say?

Bowl of vegan XO noodles with smoked tofu and shredded cabbage.
Jar of pickled walnuts.

And of course, it is also the perfect recipe to make with the rest of the jar of pickled walnuts you’ve got leftover from making my vegan-showstopper (which also went down a storm as a meat-accompanying side at a dinner party I threw at the start of the month) recipe for Roasted Squash with Pickled Walnut Salsa Verde & White Bean Puree.

As you’ve probably already seen from the advert Opies are running this year they work really well for lifting and adding some piquancy and acidity to a beef stir fry: they also do the same here, also cutting through the richness of the vegan XO sauce, the smoke of the smoked tofu and the heaviness of the noodles – this recipe simply does not work without them!

Frequently Asked Questions

What is XO sauce?

XO sauce is a super pungent, savoury sauce made from chopped dried seafood stir-fried with chilli, onions and garlic. Here I’ve used smoked paprika and toasted sesame oil – paired with the smoke of the tofu in the stir fry – to bring some of that deeply umami flavour in a vegan-friendly (or person who does not want to do a serious raid of the dried fish aisle of the Asian supermarket-friendly!) recipe.

What sort of cabbage can I use in this stir fry?

Anything you’ve got in the fridge, finely shredded from sprouts to red cabbage is game here – I’ve used purple kale and savoy cabbage because they’re what I happened to have on hand, but I also love the way their contrasting colours work in this stir fry, and how the frills of the savoy capture the sauce.

Do I have to use smoked tofu?

This recipe will still work with regular tofu, but please, please do! It helps add more of an XO-flavour to the whole dish, and I think it’s wonderfully meaty flavour was made for stir fries.

I can’t find rice wine vinegar – can I use the vinegar from the jar of pickled walnuts instead?

Yes, but only use half the amount as it is a lot more astringent!

Do the leftovers of these Vegan XO Noodles heat up well?

In this instance I’m afraid they don’t, and this dish is the only noodle stir fry I’ve ever met whose leftovers don’t taste great cold – sorry!

Bowl of shredded cabbage, crispy tofu and XO noodles with lots of chopped chilli.

You Might Also Enjoy

clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon
Close up of XO noodles with crispy tofu.

Vegan XO Noodles with Smoked Tofu

  • Author: Rachel Phipps
  • Prep Time: 15 minutes
  • Cook Time: 25 minutes
  • Total Time: 40 minutes
  • Yield: Serves 2
  • Category: Dinner
  • Diet: Vegan


This saucy, deeply savoury dish of Vegan XO Noodles with Smoked Tofu and plenty of shredded cabbage and kale is the perfect plant-based winter noodle dish to clear out the vegetable drawer!



For the Noodles & Smoked Tofu

  • 2 nests egg noodles or a vegan alternative
  • 1 x 280g block smoked tofu
  • 1 tbsp light oil
  • 2 large cloves garlic
  • large thumb-sized piece fresh ginger
  • 4 large spring onions
  • 4 handfuls shredded cabbage (I used purple kale and savoy cabbage)
  • 4 pickled walnuts
  • large handful fresh coriander

For the Vegan XO Sauce

  • 1 tbsp light oil
  • 1 small onion
  • 2 birds eye chillies
  • 2 large garlic cloves
  • 1/2 tsp sweet smoked paprika
  • large pinch dried chilli flakes
  • 4 tbsp soy sauce
  • 2 tbsp rice wine vinegar
  • 1/2 tbsp toasted sesame oil
  • 2 tsp maple syrup


  1. First, make the vegan XO sauce. Heat the oil in a small frying pan over a medium heat. Peel and finely chop the onion, and finely slice the birds eye chillies. Gently fry in the oil for 7-8 minutes or so until soft and slightly golden.
  2. Stir in the garlic cloves, again peeled and finely chopped, and once it has turned soft and aromatic, stir in the sweet smoked paprika and dried chilli flakes. Cook for a further minute before removing from the heat and stirring in the rest of the sauce ingredients. Set aside.
  3. Meanwhile, cook the noodles as per the packet instructions and rinse under cold water to stop them sticking together. Set aside.
  4. Heat a large, non-stick frying pan or wok over a high heat and add the stir fry oil. Whilst it is heating up until shimmering, drain the tofu and pat it as dry as possible with kitchen paper. Cut into cubes and pat dry again.
  5. Fry the tofu until golden all over and reduce the heat to low. Meanwhile, peel and finely chop the garlic, ginger, and trim and finely chop the spring onions. Also slice the pickled walnuts, and finely chop the coriander.
  6. Stir in the garlic, ginger and spring onions and stir fry until the spring onions and the garlic are soft, and only just starting to colour.
  7. Turn the heat back to medium and add the cabbage, stir frying until just soft and wilted.
  8. Add the noodles and the vegan XO sauce to the pan, stirring everything together until the noodles are heated through and coated with the sauce.
  9. Remove from the heat and stir through the pickled walnuts and chopped coriander. Serve immediately in warmed bowls.


The vegan XO sauce can easily be made up to a couple of days in advance.