In a large pan or wok, heat the oil over medium heat, and add the chopped onions.
Fry the onions until they are golden brown, Approximately 7-8 minutes.
Optional: Add slit green chilies and fry for a minute.
Add the chopped tomatoes and ginger and sauté until the tomatoes are cooked, and the oil starts to surface on sides of the pan, approximately 10-15 minutes.
With a slotted spoon, carefully add the cooked chickpeas, but reserve the water (you can strain it ahead if you like).
Sauté the chickpeas for about 5 minutes, and then add all the spice powders and stir for a minute.
Now add the strained stock (add some hot water to the stock if it isn't measuring 3 cups of liquid). You need about 3 cups of liquid to continue cooking.
Cover and simmer on medium low, stirring occasionally, until the gravy thickens.
Uncover the pot and mash some beans against the inside sides of the pot to thicken the gravy. Check for salt. The finished beans should be soft and blended and a bit mushy, with a thick gravy. If the water dries out during cooking, add a little more hot water.
Pour into a serving dish when done and garnish with any of the garnished items given.
Serve with batura, naan, tandoori roti, or just samosas. You can also enjoy it with boiled rice or any kind of pilaf.