Wash chicken pieces well and marinate until required or for 15 to 30 minutes with all the ingredients listed under 'to marinate'.
Soak almonds, cashewnuts, poppy seeds ( I didn't used) for 10 mins in 1/2 cup warm water, peel almonds and grind to smooth paste with cashewnuts, poppy seeds, add coconut and grind again, add 2-3 tbsp water if required.
Peel and slice onion, chop tomato.
In a pan heat oil add bay leaf, cumin seeds, caraway seeds, fennel seeds and allow to splutter. Add onions, ginger-garlic paste and saute until onion becomes light brown and soft. Add chili, coriander seeds, turmeric powders and mix well, saute for a minute.
Add marinated chicken pieces and mix well, cover and cook for 10-12 miuntes in low flame with stirring in intervals. Chicken will release water and cook in that water itself and oil floats on top. Add chopped tomato, mix and cook until tomato gets mashed.
Now add almond cashew paste and mix well, cover and cook in slow flame for 5 minutes. Beat curd and add with chicken along with salt and mix well.
Add 1 cup water and cook in slow flame until gravy becomes thick and oil floats on top. Add crushed kasoori methi, garam masala, mix well cover and cook for 2 minutes, off flame.