Pat the chicken pieces dry with kitchen paper so they fry rather than steam. Heat the oil or ghee in a large karahi over medium high heat. Add the chicken and cook for 6 to 8 minutes, turning regularly, until the outside loses its raw colour and develops light golden patches. Keep the heat lively before adding the aromatics.
Add the crushed ginger and garlic to the chicken. Stir continuously for about 1 minute until fragrant, taking care not to let the garlic darken. Frying the aromatics directly with the chicken builds flavour without needing an onion base. Once fragrant, move straight on to the tomatoes.
Add the chopped tomatoes and salt. Stir thoroughly, scraping the bottom of the karahi to loosen any browned pieces. Cover and cook over medium heat for 8 to 10 minutes until the tomatoes soften considerably. Once tender, uncover the karahi ready for reducing.
Use the back of a wooden spoon to crush the softened tomatoes into the chicken. Increase the heat to medium high and cook uncovered for 8 to 10 minutes, stirring frequently. The tomatoes should lose their raw taste and reduce into a thick coating rather than a watery curry sauce. Continue until excess moisture has evaporated.
Add the black pepper, crushed coriander seeds, crushed cumin seeds and red chilli powder. Stir well so the spices are distributed through the tomato mixture. Freshly crushing the coriander and cumin gives the karahi a coarser texture and stronger aroma than finely ground spices. Cook for another 2 minutes before continuing.
Continue frying over medium high heat for 5 to 8 minutes, stirring and turning the chicken frequently. This stage, known as bhunai, concentrates the tomato mixture and encourages the oil to separate around the edges of the karahi. Avoid adding water unless the mixture begins catching before the chicken is cooked.
Reduce the heat to medium and cook for another 5 to 8 minutes, or until the chicken is completely cooked and tender. If necessary, add only a small splash of hot water and allow it to evaporate afterwards. The finished karahi should remain thick, glossy and relatively dry rather than resembling a conventional curry gravy.
Add the slit green chillies and dried fenugreek leaves, if using. Toss everything together and cook uncovered for 2 to 3 minutes. Adding the green chillies towards the end preserves their fresh aroma while still allowing their flavour to perfume the chicken. Finish with the garam masala.
Scatter most of the ginger matchsticks and fresh coriander into the karahi. Toss gently and cook for another minute, then remove from the heat. Taste and adjust the salt if required. Allow the karahi to rest for about 5 minutes before serving so the final aromatics settle into the sauce.
Serve the Chicken Karahi hot, preferably directly from the karahi. Finish with the remaining ginger, coriander and sliced green chilli. Serve with hot naan, roti or chapati, with lemon wedges alongside for anyone who wants a sharper finish.