Cook the noodles according to the packet instructions, then drain and refresh in cold water (this stops them from over-cooking) and place to one side.
On a chopping board, peel and finely slice the onion, then peel and finely chop the garlic.
Peel the ginger using a teaspoon, then chop into matchsticks. Pick the coriander leaves and finely chop the stalks.
Cut the broccoli florets off the stalk, halve any larger florets, then thinly slice the stalk. Halve the pepper, scoop out the seeds and pith with a teaspoon, then slice into strips.
Cut the tofu into rough 2cm cubes. Using a speed-peeler, peel the carrot lengthways into long ribbons.
Trim and halve the chilli lengthways (if using), then run a teaspoon down the cut side to scoop out the seeds and white pith. Finely slice at an angle, then wash your hands thoroughly.
Place a wok or large non-stick frying pan on a medium heat, add the cashew nuts, and toast until golden, stirring regularly. Tip into a small bowl.
Place the pan back on a high heat and drizzle in 1 tablespoon of vegetable oil. Add the red onion, garlic, ginger and coriander stalks, then fry for 2 minutes, or until lightly golden, stirring regularly.
Throw in the broccoli, pepper, tofu and mangetouts, and fry for 2 minutes, stirring regularly.
Stir in the spinach and allow it to wilt, then add the noodles and carrot ribbons. Toss well for a minute to heat through.
Squeeze over the juice from half the lime, add 1 teaspoon of sesame oil and 2 tablespoons of soy sauce, then toss to coat.
Sprinkle over the sliced chilli (if using), toasted nuts and the reserved coriander leaves, then serve with lime wedges for squeezing.