Bring a large pot of salted water to the boil. Cook the spaghetti until al dente and drain, reserving a cupful of pasta water.
Meanwhile, heat the olive oil and half the butter over a medium-high heat in a large frying pan. Add the garlic, chilli, and white part of the spring onion. Fry until the garlic is starting to get a little colour, 1-2 minutes.
Add the tofu and mushrooms and fry until the tofu is golden, stirring often.
Lower the heat to medium-low. Add the spaghetti, soy sauces, vegetarian stir fry sauce, miso, the remaining butter, and a good splash of pasta water. Toss well to coat.
Sprinkle in the Parmesan and Thai basil and stir, adding an extra splash of pasta water if necessary.
Serve with the toasted nuts, green spring onion, and an extra grating of Parmesan.