Heat 2 tbsp oil in a pot and add cumin seeds, cloves, cinnamon stick, cardamom, curry leaves, turmeric powder and saute for a minute or two until you get a nice aroma.
Add chopped onions with a ½ teaspoon of salt to help onions cook faster. Saute the onions until they start turning into golden color.
Now reduce the heat and add ginger garlic paste, coriander powder, cumin powder, red chili powder, and mix well. Cook for a minute making sure the spices are not burning.
Next, add the marinated chicken and mix well. Cook uncovered for around 7 to 8 minutes or until all the chicken pieces turn white.
Then add the tomato & ground spices paste to the chicken and mix well. Cook covered for 10 mins while stirring in between to avoid burning.
When the chicken is almost ¾th way cooked, add the tamarind paste mixed with little water and the jaggery and mix well.
Check the taste and add salt if required. Remember you already added salt in onions and chicken, so add accordingly.
Add Garam masala if using, cook until the chicken is properly cooked and the gravy doesn't have any raw taste.
Add chopped cilantro and turn off the heat. Serve with parotta, naan, chapati, phulka, or any kind of Indian flatbread for best combination. This goes really well with any kind of pulaos like vegetable pulao, cumin rice etc...