Heat 1 tablespoon oil, and add tomatoes. Cook the tomatoes till they are soft, mashing them with a wooden spoon every few minutes. Set aside.
Heat the remainder of the oil in a large pot.
Fry onion till light golden, and then add the chicken.
Cook for 2 – 3 minutes, and then add ginger garlic paste.
Cook for 4 – 5 minutes, till the chicken colour changes from pink to white, and then add the mashed tomatoes followed by red chili powder, and salt.
Add yoghurt (if using), turn heat to low and let it cook till the chicken is tender and cooked through. In case the chicken is sticking to the bottom, add a splash of water.
Once the chicken is cooked through, add green chilies, and coriander. Serve hot with naan, chapati or rice.
Chicken karahi is a dry chicken curry. However, in my family we prefer to have a bit gravy, which is why I add yoghurt. Just enough to create a thick gravy that can be eaten with roti or spooned over rice.