Take the pieces of chicken in a bowl, add ginger garlic paste, salt, black pepper powder and some lemon juice with oil. Mix it well.
Keep aside for marination for about 20-30 minutes.
For the paste, take onions and saute it until golden brown.
Take green chilli and ginger together and fry along with the onions.
Blend them all together to make a fine paste.
To prepare the tomato gravy, take ginger-garlic paste, chilli powder, clove and cardamom, tomatoes and green chilli.
Grind them all together to make a paste.
Now take the marinated chicken in a pan and fry it on flame until golden brown.
In another flaming pan, pour the tomato paste, add some salt, turmeric, chilli powder and Garam masala, kasuri methi and the onion paste while mixing it all along.
Add the fried chicken to the mixture and mix it well.
Add water to the paste, mix well, cover it and keep aside for five minutes.
Now put the gravy on flame and add cream to it. Mix thoroughly to cover the entire gravy into cream.
Serve hot along with Rumali Roti or any bread of your choice.