Heat the oil in a large pan and add the tomatoes, onions and ginger garlic paste. Saute for a minute, then cover and cook on a low flame to soften the tomatoes and fried onions, about 5 minutes.
In a small bowl add the chicken, yogurt and all the whole and ground spices. Mix well. Add to the tomato and onion masala and mix until everything is combined. Add the green chillies, then cook uncovered for 3-4 minutes, mixing occasionally. Add a spalsh of water, cover and cook on a low flame for 6-7 minutes, until the oil seperates from the masala. Make sure the masala is a bit on the dry side.
While the chicken is cooking bring a large pot of water to a boil. Drain the soaked rice and add it to the water along with 1 tsp of salt. Once the water comes to a simmer again, it should take 5-6 minutes for the rice to be par boiled. You want them to be almost cooked through, but still have a bite to them, like pasta. Once the rice is par boiled drain and set aside.
Once the chicken is done cooking, lower the flame to the lowest setting. Spread the coriander and mint leaves over the chicken, then carefully transfer the rice onto the chicken, covering it completely. Place th elid on the pan, and cook on the lowest flame for 10-15 minutes, or until steam starts escaping form the lid. At this point the rice will be cooked through and the biryani will be ready to eat.
Carefully mix the chicken into the rice using a spatula so the rice doesn't break. Serve with yougrt or raita.