Add chicken, salt, Kashmiri red chilli powder, turmeric powder, ginger garlic paste, and lime juice to the bowl and mix well using your fingers.
Cover the bowl with a lid and set it aside.
Add coriander seeds, cloves, black peppercorns, cinnamon stick, green cardamoms, cumin seeds, and Kasuri methi to a skillet. Dry roast on low heat until fragrant. Grind to make a powder.
Heat mustard oil in a large wide pan over medium-high heat. Add the marinated chicken to the pan and cook for 8-10 minutes until it is lightly browned. Remove the pieces to a plate.
Add oil to the same pan. Once hot, add dry red chilies and onions. Saute for 8-10 minutes until the onions are golden brown in colour. Add pureed tomatoes and green chilies and cook for 3 minutes.
Now add Kashmiri red chili powder, turmeric powder, salt, and the spice mix that we made earlier and saute for 2-3 minutes until the oil starts to separate from the sides of the pan. Add plain yogurt and cook for 2-3 minutes.
Now add the chicken pieces back to the pan and mix well. Cover the pan with a lid and cook for 20-25 minutes until the chicken is cooked well. Stir a few times while cooking.
Check for salt and add more if needed. Add some water if you like thinner gravy and cook for 2-3 minutes. Garnish with 2 tablespoon chopped cilantro (coriander) and serve hot.