Heat the oil in a large pan or pot over medium heat. Add the cumin seeds and let them sizzle for about 30 seconds until fragrant.
Add the chopped onion and cook, stirring occasionally, for 5-7 minutes until softened and lightly golden.
Stir in the garlic and ginger and cook for 1 minute until fragrant.
Add the pureed tomatoes and cook for 5-6 minutes, stirring occasionally, until the mixture thickens and the oil begins to separate from the sides.
Stir in the coriander, cumin, turmeric, garam masala, and chili powder. Cook for 1 minute, stirring constantly, to toast the spices.
Add the chickpeas and water. Stir well, bring to a simmer, and cook uncovered for 15-20 minutes, mashing a few chickpeas against the side of the pot to thicken the gravy.
Season with salt to taste. Garnish with fresh cilantro and serve hot with basmati rice and naan, with lime wedges on the side.