Place the chicken in a glass bowl. Add a little salt, 2 tbsp of the yoghurt, 1 tbsp each of the ginger and garlic paste, mix well, cover and marinate in the fridge for at least 5 hours or ideally overnight.
The next day, allow the chicken to come to room temperature before you begin cooking.
Heat the ghee in a kadhai/Dutch oven/deep pan and add the whole spices including the red chillies. Saute for 20 secs.
Now add the chicken and the remaining garlic and ginger pastes. Fry for a couple of minute till the raw smell disappears and the chicken is slightly seared. Take care not to brown or burn the pastes.
Pour in the remaining yoghurt and cook for a minute.
Next, add the fried onion paste and the ground cashew nut and poppy seed. Season and mix well to coat all the pieces.
Toss in the green chillies, cover and cook the chicken on a medium flame for 15 minutes till the meat is almost done.
Check the seasoning and pour in the saffron milk. Sprinkle the garam masala, simmer for a minute more (you should have a not-to-runny sauce) and turn off the heat.