Heat oil (and ghee if using) in a pan. Add the whole spices – cinnamon, cloves, and black cardamom. Let them release their aroma.
Add sliced onions and sauté until golden brown.
Stir in ginger-garlic paste and cook until the raw smell disappears.
Add the sliced tomatoes and cook until soft and mushy.
Mix in all the powdered spices – Kashmiri chilli powder, red chilli powder, cumin powder, turmeric, and garam masala. Stir well.
Add the chicken mince and cook on medium heat until it changes color and blends with the spices.
Whisk the yogurt and add it slowly, stirring continuously to avoid curdling.
Pour in water as needed and let the curry simmer until the chicken is fully cooked and the flavors are absorbed.
Add roasted and crushed kasuri methi, lime juice, and garnish with fresh coriander leaves.