Place chicken in a bowl, add ginger paste, garlic paste, Kashmir red chili paste, salt, black salt, turmeric powder, yogurt, garam masala powder, carom seeds, lemon juice, gram flour, crushed red chilies and mix well. Let them marinate for 1-2 hours.
Heat oil in a flat nonstick 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 tbsp oil in another nonstick pan, add cubed onion layers, capsicums, and tomatoes and saute for 2-3 minutes. Transfer to a bowl.
Turn over the chicken pieces in the first pan and let the other side cook.
Heat 2 tbsp oil in the second pan and add cumin seeds. When they begin to change color 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 chili powder, green cardamom powder, kasoori methi and mix and continue to saute until oil begins to separate. Add chicken pieces and mix.
Add fresh cream and honey and mix. Add the sautéed vegetables and mix.