Put the chicken pieces in a large mixing bowl. Add all ground spices: turmeric, cumin powder, coriander powder, red chilli powder and the ginger-garlic paste. Mix everything and marinate for about 10 to 15 minutes.
Put a pan with oil on medium-high heat. When the oil is hot, add cumin seeds. When they start to sizzle add bay leaf, cinnamon stick and cardamoms.
Add chopped onions and fry until transparent. Add the marinated chicken and chopped tomatoes.
Mix everything well for 2-3 minutes on high heat. Then lower the heat to medium-high and cover the pan.
When the chicken has released all the water, uncover the pan, and let it cook on medium heat for about 30 minutes approximately.
When you see the water has reduced completely, the tender and juicy chicken pieces are well combined with the thick gravy, turn off the flame.
Sprinkle some chopped coriander leaf on top of it if you want and serve it with chapati or rice.