Cut the chicken thighs into one and half inch pieces. Mix all the ingredients listed under marinade and add the chicken thighs to it. Mix well, and set aside for at least two hours.
In a pressure cooker, add tomatoes, onions, garlic, green chilies, red chilies, cashew nuts, poppy seeds, bay leaf, cinnamon, cloves, cardamom and ½ cup water. Pressure cook for 2 whistles or 15 minutes. Switch off the flame and set aside to cool.
Once cooled, fish out the whole spices (bay leaf, cinnamon, cloves and cardamom) and puree the rest to a smooth paste with ⅛ cup water.
In a large nonstick skillet, pan fry the chicken pieces on each side for 3-4 minutes on high heat till they have a nice sear but are not fully cooked. Because of the yogurt and the non stick pan, you won't need to add oil.
In another pan, add the gravy and bring it to a boil. Reduce the flame, add tomato ketchup, garam masala, salt and red chili powder and simmer for 15-20 minutes.
Add the chicken pieces, stir and simmer till the chicken pieces are cooked, about 25 minutes. Add a few tablespoons of water if the gravy is too thick.
In a small pan, dry roast the kasuri methi while making sure it doesn't burn. Cool completely before grinding it to a fine powder.
Add the ground kasuri methi to the chicken curry, and cook for a few minutes.
Stir in the cream and switch off the flame. Serve hot with chapatis, tandoori rotis or steamed rice.
It's important to use chicken thighs as it's the best cut of meat for this dish