For the marinade, finely chop the ginger and garlic. Sprinkle rover the salt and chop a little more, then place into a bowl.
Add the lime juice, ground coriander, chilli powder, ground turmeric and ground cumin to the bowl and mix well.
Add the chicken pieces and the yoghurt and stir to coat the chicken. Leave to marinate for at least 10-15 minutes (or for an hour if possible, covered in the fridge).
For the curry, heat the oil in a frying pan over a low heat and add the onion. Fry for 1-2 minutes, then add the tomatoes and the tomato purée and cook gently for about one minute.
Add the chicken to the pan along with the marinade and a splash of water.
Pour in the cream, turn up the heat and simmer for 10-15 minutes, or until the chicken is cooked through. There should be no pink when you cut into it. If pink, cook for longer.
Add the spinach to the pan and stir until just wilted.
Sprinkle over the coriander.
To serve, drain the rice and divide between two plates. Top with the curry.