Mix the chicken with the lime juice and paprika. Toast and grind the cumin and coriander seeds and grind them.
In a food processor, blend the onion shallots, garlic, ginger and chillies. Drain the chicken and add the lime juice to the onion paste. Blend. Combine in a bowl with the yoghurt, garam masala and half of the ground cumin and coriander. Add the chicken and toss to coat. Cover and marinate overnight in the fridge.
Preheat the grill then grill the chicken 5 minutes on each side until it's beginning to char. Keep warm while you make the sauce.
In the food processor combine tomatoes, tomato paste, coriander leaves, ginger, lime juice, sugar and remaining cumin and coriander powder. Process until smooth.
Heat the butter in a saucepan and add the tomato mixture and cream. Simmer, then add the chicken and reheat. Serve hot.