Before you start, put 35g (1/4 cup) cashews in a small bowl with the warm water. Leave them to soak for a short while whilst you prepare the other ingredients.
In a blender, food processor, or mini chopper, blend the onions, garlic, ginger and lemon juice to make a thick paste. You can add a little water to the paste if your blender is struggling.
Spoon the paste into a small bowl, then make the sauce in the same blender. Add the soaked cashews and water, yoghurt, tomato paste and coconut milk. Blend until this makes a smooth sauce.
Heat the oil in a large pan over a medium high heat, then add the cubed tofu. Fry for 3-4 minutes, turning the tofu pieces regularly until they are golden all over.
Reduce the heat to medium. Add the raisins and the remaining cashews and cook, stirring, for 2 minutes.
Add the blended onion mix to the pan and stir everything to combine. Cook the paste onto the tofu, cashews and raisins for a minute.
Add the curry powder, garam masala, turmeric, cinnamon and ground cloves to the pan, toast for 30 seconds, then pour in the sauce. Add the peas to the pan and stir everything to combine.
Simmer for 15 minutes, covered, until the sauce is thick and rich.