In a wok over medium heat, add oil.
Once oil is hot, toss in the chopped onions and fry for 6-7 minutes or until the edges start to brown.
Next, add the rinsed chicken pieces and stir until combined with the onion.
Add yogurt, cumin, coriander seeds, red chilli powder, salt, pepper and ginger garlic paste and stir until the chicken pieces are coated.
Continue stirring for about 5-6 minutes on high heat.
Tip in the tomatoes, cilantro and chillies and stir. Add water.
Cover the wok with a lid, turn the flame to medium to low and let the karahi cook for 20 minutes.
After 20 minutes, remove the lid and turn the flame to high and let the water evaporate.
Once the water evaporates about 10-15 minutes, start to stir again.
You'll notice that the curry will release oil and you'll see a lovely sheen around the edge of the wok. At this point, add in some more cilantro and chilli and pop the lid back on and turn the flame to the lowest possible setting for 5-10 minutes. This is called the "dum" stage which is important to finish off the Karahi.
Enjoy hot with pita bread or naan! Serves 5-6 people.