Heat oil in a thick-bottomed pan and add in cinnamon stick, cardamom, cloves and bay leaves. Once they begin to sizzle, add in onions and green chillies, and fry for 3-5 minutes on medium-high heat till onions turn pink and tender. Add in ginger and garlic pastes and saute for another minute or two till fragrant.
Add in red chilli powder, turmeric, cumin powder, coriander powder and garam masala, and fry for a minute. Mix in chopped tomatoes and salt, and cook for a few minutes till tomatoes pulp and releases oil around the sides of the pan. Slowly stir in beaten yogurt forming a smooth gravy base.
Add chicken pieces, water if necessary, and allow to cook covered for 10-15 minutes on medium-low heat till done. Garnish with fresh chopped coriander leaves and serve piping hot with a side of rotis or rice, and a salad.