Cut the chicken into medium sized pieces, wash and drain on a colander.
Grind all the ingredients mentioned under 'For the masala' to a fine paste, using a little water as required. To blanch the palak, place it in a bowl and pour boiling hot water over it, enough to cover all the leaves. Cover and keep aside for 2-3 minutes, then drain the water, refresh under cold water and transfer the leaves to a bowl of ice cold water for 5 minutes. Then grind it to a paste and keep aside.
Boil the chicken with salt till almost done. Keep aside. Alternatively, marinate the chicken with salt and shallow fry it till almost done. Keep aside
Heat ghee and add the finely chopped garlic and fry it for 4-5 seconds, then add the onions and fry till golden brown.
Add the kasuri methi and chopped tomatoes and fry for a minute
Then add the ground masala and fry on a low heat very well till the oil begins to separate
Add the whisked yogurt and continue to fry till the oil begins to separate.
Add the pureed spinach and cook for a minute or two and then add the boiled or fried chicken pieces only. Retain the stock and add it little by little and continue to cook on a low heat. Don't add all the stock in one go. Adjust the thickness of the gravy by adding it in parts and cooking till it gets nicely incorporated into the gravy.
If you are frying the chicken then you can add water instead as there won't be stock released during the process of frying.
Adjust the salt and add the fresh cream (optionajust before turning off the heat
Serve hot with chapathis, rotis or rice