Wash and soak the chickpeas for 10-12 hours. Then drain the water and refresh the chickpeas in a couple of changes of fresh water.
Transfer the chickpeas to a pressure cooker. Add enough water to cover them. and some salt to taste. Cook on full heat for 3-4 whistles (or longer if the chickpeas haven't been soaked adequately). Remove from heat and keep aside
In a heavy based pan, heat some oil or ghee. Toss in the ginger, green chilli and garlic and fry for half a minute. Then add the chopped onions and fry till they turn translucent (pale)
Next, add the ground tomato paste and fry on a medium-low heat for 3-4 minutes or till the oil begins to separate.
Reduce the heat completely and add the powders - chilli, coriander, garam masala & chole masala. Fry for a few seconds and then add a little (approx 1/2 cup) chickpea stock (cooking liquid) and bring the gravy to a boil
Let the gravy thicken a bit. Check the taste and add the salt, spice and the tomato puree if required. The tomato puree is optional but recommendeda as it gives a good colour and texture to the curry
If there is more chickpea stock you can add it in parts and allow the gravy to thicken. Finally, add the chickpeas, rub the kasuri methi between your palms and stir in. Simmer for at least 5-7 minutes.
Heat ghee in a small pan for seasoning. Reduce heat, toss in the cumin seeds. When they stop sizzling, add the julienned ginger and chopped coriander. Stir once and quickly pour this mixture over the prepared chole masala. Mix once
Serve hot with any accompaniment of your choice - rice, pulaos, roti, chapathi or naan