Place the chicken in a bowl with the garlic, ginger, salt, chilli powder and lemon juice. Mix, cover with cling film and chill for 30 minutes. Mix together the yoghurt, garam masala, turmeric and cumin and add to the chicken, making sure that each piece is well coated with the mixture. Cover again and chill for 3-4 hours.
Preheat the oven to 180°C/Fan 160°C/Gas 4. Put the marinated chicken pieces on a grill rack set on a baking tray and bake for 8-10 minutes. Brush the chicken pieces with a little oil and turn them over. Bake for another 10-12 minutes until just cooked through.
For the sauce, heat the ghee or butter in a pan and add the garlic and ginger. Fry for a minute or so then add the cardamom, cloves, coriander, garam masala, turmeric, fenugreek and chilli powder. Stir well and fry for 1-2 minutes until they give off a lovely aroma.
Stir in the tomato puree and lemon juice and cook for another couple of minutes. Add the chicken pieces to the sauce and stir well to coat. Finally, add the butter and cream and stir continuously until the butter has melted and the sauce is smooth.
Taste and adjust the seasoning. Transfer to a warm bowl and serve hot, garnished with chopped coriander.