Marinate the chicken peices with the ingredients under "for marination" for 3 hours or preferably overnight.
Heat 1 tbsp oil, saute the onion till wilted.
Add the ginger garlic paste and cook till the raw smell is gone.
Take out and allow to cool. Grind into a paste.
In the same saucepan, heat another tbsp of oil and fry the chicken till both sides are browned. Not necessary that the chicken needs to be fully cooked. Reserve the fried chicken into a bowl.
Add the remaining oil into the saucepan. Add in the onion paste, curry leaves, green chillies, the powders and the reserve marinade.
Cook till oil starts floating on top. Now add in the water along with the stock cube (if using) and allow to boil.
Add in the chicken and cook on low flame with closed lid till the chicken is completely cooked. Adjust the seasoning.
Serve warm garnished with coriander leaves with rotis or rice.