Soak the walnuts in lukewarm water for 20 minutes, drain well.
Meanwhile, heat the oil in a large frying pan and fry the onion and chilli for 4-5 minutes, add the spices and then the eggplant and mushrooms, cook for a further 4-5 minutes.
Stir in the tomatoes, 100ml water and the walnuts, bring to the boil, cover and simmer for 10 minutes. Stir in the spinach until just wilted and season.
Serve with the cooked basmati rice.
Cooks tip: Try adding chickpeas instead of the eggplant and stir in chopped coriander at the end.