Place chicken in a bowl, add ginger paste, garlic paste, Kashmir red chilli paste, salt, black salt, turmeric powder, yogurt, garam masala powder, carom seeds, lemon juice, gram flour, crushed red chillies and mix well. Let them marinate for 1-2 hours.
Heat oil in a flat non stick pan, add the chicken pieces and cook for 3-4 minutes on high heat. Reduce heat and cook.
For gravy, chop 2 onions in a chopper. Cube the remaining 2 and separate layers. Cut green capsicums into 1 inch pieces. Halve and remove seeds of 2 tomatoes and cut them into 1 inch pieces.
Heat 3 tbsps oil in another non stick pan, add cubed onion layers, capsicums and tomatoes and saute for 2-3 minutes. Transfer into a bowl.
Turn over the chicken pieces in the first pan and let the other side cook.
Heat 2 tbsps oil in the second pan and add cumin seeds. When they begin to change colour add chopped onions and saute.
Grind remaining tomatoes. Add garlic and ginger to the pan and saute. Add freshly ground tomatoes and continue to saute.
Add coriander powder, a pinch of turmeric powder and saute for a minute. Add tomato puree and mix. Add khoya and mix and saute for a few minutes.
Add salt, red chilli powder, green cardamom powder, kasoori methi and mix and continue to saute till oil begins to separate. Add chicken pieces and mix.
Add fresh cream and honey and mix. Add the sautéed vegetables and mix.