Puree the onions in a blender and set aside in a bowl.
Put the yogurt in the blender and add the cashews. Whiz until you get a smooth white paste. Keep this yogurt-cashew paste aside.
Heat the oil in a wok or karahi and add the pureed onions and the ginger-garlic paste. Cover the wok and cook down this masala on low-medium heat for about 10 minutes, stirring in between to make sure it doesn't stick to the wok. As the water evaporates, the masala will soon reduce and become thick.
Add the chicken and all the powdered spices and salt. Mix everything well and cook for 10 minutes on medium heat. Add a splash of water if the masala becomes too thick, but not too much. Keep stirring in between so that the masala doesn't stick to the bottom. After 10 minutes, the oil will separate and the masala will become shiny.
Add the tomato paste, yogurt-cashew paste prepared earlier, and slit green chillies. Fry for 5 minutes on high heat, then lower the heat and add ½ cup water. Mix well and and cover the wok. Allow the chicken to cook for 10 minutes more.
Remove the lid and garnish the curry with some cilantro if you want to. It is now ready to be served with warm bread or rice.
You can substitute chicken breast meat with thigh meat if that's what you like.
Cook the chicken until the oil separates and floats to the top and the raw smell goes.
The chicken in Indian curries is supposed to be quite tender. It should yield when you bite into it.