Good-quality olive oil
1 medium onion, coarsely chopped
2 medium cloves garlic, minced
1 tsp cumin seeds
½ tsp ground coriander
¼ tsp ground ginger
1 tsp garam masala
3 cardamom pods, lightly crushed
1 28-ounce can diced tomatoes
1 tsp kosher salt, or to taste
1 Tbs cilantro leaves, roughly torn, plus more for garnish
A pinch of cayenne, or to taste
2 15-ounce cans chickpeas, drained and rinsed
A few lemon wedges, optional
Film the bottom of a large saucepan or Dutch oven—preferably not nonstick—with olive oil, and place the pan over medium heat. Add the onion, and cook, stirring frequently, until it is deeply caramelized and even charred in some spots. Be patient. The more color, the more full-flavored the final dish will be.
Reduce the heat to low. Add the garlic, stirring, and add a bit more oil if the pan seems dry. Add the cumin seeds, coriander, ginger, garam masala, and cardamom pods, and fry them, stirring constantly, until fragrant and toasty, about 30 seconds. Add ¼ cup water, and stir to scrape up any brown bits from the bottom of the pan. Cook until the water has evaporated away completely. Pour in the juice from can of tomatoes, followed by the tomatoes themselves. Add the salt.
Raise the heat to medium, and bring the pot to a boil. Reduce the heat to low, add the cilantro and cayenne, and simmer the sauce gently, stirring occasionally, until it reduces a bit and begins to thicken. Taste, and adjust the seasoning as necessary. Add the chickpeas, stirring well, and cook over low heat for about five minutes. Add 2 Tbs water, and cook for another five minutes. Add another 2 Tbs water, and cook until the water is absorbed, a few minutes more. This process of adding and cooking off water helps to concentrate the sauce’s flavor and makes the chickpeas more tender and toothsome. Taste, and adjust the seasoning as necessary.
Garnish with lemon wedges and cilantro. Serve.