1Heat oil in a large skillet over medium-high heat. Add diced onion and cook for 4–5 minutes until softened and starting to brown.
2Stir in minced garlic and ginger, cooking for 1 minute until fragrant.
3Add cumin, coriander, garam masala, turmeric, and cayenne. Toast for 30 seconds, stirring constantly so spices don't burn.
4Pour in the canned diced tomatoes with their juice and add the drained chickpeas. Stir in the water.
5Bring to a simmer and cook for 12–15 minutes, stirring occasionally, until the sauce thickens slightly and flavors meld. The sauce should coat the chickpeas.
6Taste and adjust seasoning with salt and black pepper as needed.
7Finish with fresh cilantro and serve hot over rice or with warm flatbread.