Prepare the first marinade by mixing chicken with salt, lemon juice, ginger and garlic paste. Cover and rest it for 30 minutes.
While the chicken rests, transfer water, onions, tomatoes, ginger, garlic, cashews, bay leaves, cloves, black cardamom, green cardamoms and Kashmiri Red Chilli powder to a saucepan.
Cook them till the tomatoes turn soft. Then, turn off the heat and let it cool.
While everything cooks and cools, move on to preparing the second marinade. In a mixing bowl, combine mustard oil with Kashmiri red chilli powder. Add curd/yoghurt and whisk it together.
Take out the marinated chicken from the fridge. Add the 2nd marinade ingredients and mix well.
Cover the bowl and rest in the fridge for another 30 minutes.
While the chicken rests, go back to the cooked and cooled stuff in the saucepan. Grind them to a fine paste in a mixer.
Strain the mixture and collect the smooth mixture in a bowl.
In a big pan, fry ginger and garlic in butter for a minute or two.
To this, add the strained gravy.
Add Kasuri Methi and fresh coriander leaves. Add salt and cook it for 2-3 minutes on medium heat.
Now, move back to the chicken. Heat a grill pan.
Place the chicken pieces on the grill pan. Grill on high heat, on one side, for 1 minute or till you see grill marks.
Then, flip and cook on the other side for another minute.
Transfer this grilled chicken to the gravy and cook for a minute or two.
Transfer to a serving bowl. Garnish with fresh coriander leaves and fresh cream and serve.