All in all, this should take about an hour.
Toast all the whole spices until fragrant, remove to a bowl and grind finely once they are cool.
Slice the onions, cut the chicken into pieces of the preferred size and dice the tomatoes. Split the chillies in 2 lengthwise. Chop the cilantro.
Heat the oil in a heavy bottomed pot and fry the onions until translucent.
Add in the ginger-garlic paste and fry until the raw smell is gone.
Add the chillies and fry a little longer.
Add in the red chilli & turmeric powders, too, and fry some more.
Add the tomatoes, cook a little, then cover and cook for 2 more minutes.
Add the chicken pieces and cook uncovered until it changes color all around.
Add the garam masala powder (the spices ground initially), stir well, then cover and cook on low for 5 minutes.
Add also 1 cup of water (or as needed), season with salt and simmer covered until the chicken is fully cooked.
Sprinkle the cilantro, mix it in and remove from heat.
Serve with plain rice and raita.