Overnight or 4 hours before making the dish, soak cashews in water. Drain the soaking water and replace with 100ml of fresh water. Blend this until you have a smooth cream. Set aside for later.
Take the tofu chunks and absorb any excess liquid with kitchen paper.
In a bowl, combine the flour and 1 teaspoon of the curry powder and coat the tofu in the flour.
In a frying pan, heat up 1/2 tablespoon of oil and fry the tofu chunks for about a minute each side until they are crispy and golden. Set aside on a plate lined with kitchen paper.
In the same pan, add the rest of the oil and fry the garlic and onion until soft, then add the spices, including the remaining curry powder, and fry for another minute.
Add the tinned tomatoes and simmer on a low heat for 10 minutes.
Towards the end of cooking stir in the cashew cream.
Add the chickpeas, tofu and spinach and cook gently for around 2 minutes until the spinach is cooked.
Serve with your favourite rice or half a roasted aubergine.