Wash and clean the chicken, removing most fat and split the thighs, breasts, and legs. Place the chicken in bowl with the curry powder, cayenne, and vinegar. Mix well with hands and set aside for at least 30 minutes. NOTE: Marinate the chicken overnight for optimum results.
In a large pot, heat the oil. Once hot, add the onions, garlic, ginger, curry leaves, lemongrass, cardamom pods, cloves, and cinnamon stick. Fry until the onions are golden brown.
Add chicken pieces one by one, stirring occasionally until chicken is browned.
Add a little water to the bowl that contained the chicken and slosh around to catch any remaining marinade and add to pot. Cover and cook on medium heat for 20 minutes.
Stir in the coconut milk and some salt and bring to a boil. Reduce heat, cover, and simmer for an additional 15 minutes. Stir in the tomato paste and simmer for additional 2 minutes.