Heat oil in a 4-6 quart pot over medium heat. Add whole spices, stir, then add theonions and sauté until three-quarters brown (about 7-8 minutes).
Add the ginger and garlic pastes and all the masala powders. Stir 2-3 minutes until fragrant. Remember to scrape the bottom of the pan to prevent sticking and burning. If it does start to stick, you can add 2 tablespoons of water, hot or cold.
Add the tomato paste with about a ¼ cup water and cook for 3-4 minutes.
Add the soaked chickpeas and water. Cover and bring to a boil. Lower heat and simmer for approximately one hour, stirring every now and then (after about 50 minutes, check to see if the chickpeas are nearly done. If it looks like the water is drying up at any point, add a little more hot water).
Mash some of the chickpeas against the side of the pan to make a thicker gravy. Cook for another 5 minutes until tender.
Garnish with the fresh chopped cilantro.
Serve with plain boiled rice, any Indian style Pilaf, or any kind of flat bread.