Mix the chicken with the garlic ginger paste, salt, chilli powder and lemon juice and let marinate 20 minutes. Add the yoghurt and marinate 10 more minutes.
Thread the chicken pieces on skewers and cook on the barbecue 15 minutes, turning.
While the chicken is cooking, make the curry sauce. Place the tomatoes in a saucepan with 1/2 cup water, the ginger, garlic, cardamom pods, cloves and bay leave. Cook until the tomatoes are soft. Blend with a stick blender, then push through a sieve. Bring it back to the boil and add the chilli powder.
As the sauce thickens, add the butter piece by piece. Stir until glossy. Add the chicken and simmer 5 minutes. Add the green chillies and cream. Simmer.
Add the salt and garam masala and stir. Check for seasoning and serve.