In a thick bottom , deep pan , heat 2 tablespoon of mustard oil.
Add all whole spices and saute for 1-2 minutes , till it releases aroma.
Now add in finely chopped onion , ginger , garlic paste and saute for 1-2 minutes.
Keep on medium heat and saute in between until onion turns brown in colour.
Add red chilli powder , coriander powder and mix well.
Now tip in finely chopped / minced or grated tomatoes , its recommended to add finely grated/minced tomatoes rather than tomato puree. As minced tomatoes add lot more to texture in this particular recipe. Tomato puree make this gravy bit runny which is not required in the recipe.
Mix well , add salt as per taste , stir and cook till water reduces completely and oil starts to release from corners. It takes some more time around 15-20 minutes on medium heat.
Whilst , in a pan heat 1 teaspoon of oil , add whole spices and cook marinated chicken for about 6-8 minutes , till colour changes and it starts to release its water.
In a bowl , whisk ½ cup curds along with besan /gram flour.
By now , tomatoes will be cooked completely , with specks of oil on top. Now add in whisked curds.
Mix well everything.
Add in half cooked chicken ,.
Add ½ cup water to pan in which chicken is pre cooked , rinse and add same water into the curry.
Mix well everything , cover lid and cook for 12-15 minutes on a medium heat.
Once chicken is well cooked, add 2-3 green chillies slit , garam masala and kasuri methi .
Give a quick stir and turn off the stove.
Garnish with coriander leaves and serve hot with roti or jeera rice.