Discard the soaked water from chana. Pressure cook chana with 3 cups water (refer notes for details) till it's done. Add salt to the cooked chana and mix well.
Blend onion, ginger, garlic and green chilli in a blender for few seconds to crush it, no need to make it a paste.
Heat oil in a deep and wide pan. Add crushed ingredients. When it browns, add all masala powders and mix well. Add 1 tbsp stock to mix it well. Add chopped tomatoes, salt and 1/4 cup of stock, cook till tomatoes becomes soft.
Add cooked chana with left over stock and mix well. Bring it to a boil and reduce flame to lowest. Cook for 10 mins. Add tomato puree and coriander leaves. Mix well, cook for another 5-7 mins.
Notes
Pressure cooking chana - Cook on full / high flame till the first whistle comes. After that reduce flame to low-medium and cook for 4 more whistles. Switch off the gas and keep it closed till pressure drops, around 20 mins.You can adjust the qty of water to suit your gravy consistency requirements. If you prefer more gravy, add hot water to the curry and cook for some time. If you want a thicker / richer gravy, mash 2-3 tbsp of cooked chana with a wooden spoon and add to the curry along with cooked chana.Before adding tomato puree, do a test test and add accordingly. The curry can be refrigerated for 3-4 days.