Saute aromatics. Heat 3 tablespoon oil in a medium saucepan over medium heat. Once hot, add ¼ teaspoon cumin seeds and let them sizzle for a few seconds. Stir in the 1 ½ cups onion, 2 garlic cloves, 2 teaspoon ginger, and about ½ teaspoon of salt. Cook, stirring occasionally, until the onions soften and become translucent, about 3 to 5 minutes.
Toast spices. Reduce the heat to medium-low and add all 2 teaspoon coriander, ½ teaspoon cayenne, ¼ teaspoon turmeric, and ¼ teaspoon garam masala powder, along with 2 tablespoons of water. The water helps prevent the spices from burning and sticking to the bottom of the pan. Cook, stirring constantly, for 2 to 3 minutes, until fragrant and glossy.
Simmer. Add the 1 can tomato sauce, ¾ cup coconut milk, 1 can chickpeas, ½ teaspoon sugar, remaining salt, and ½ cup water. Stir well, then cover the pot and increase the heat to medium. Cook for 12–15 minutes, stirring once or twice in between to prevent the curry from sticking to the bottom.
Optional step 👉 Use a potato masher to gently mash the curry a couple of times— just enough to break down some of the chickpeas. This helps naturally thicken the sauce and creates a creamier, heartier texture. Avoid mashing too much—you still want plenty of whole chickpeas.
Finish. Stir in 3 handfuls of spinach and cook uncovered for 2 to 3 minutes, until just wilted. Remove from heat and let the curry rest for about 5 minutes before serving—this allows the flavors to settle and the sauce to thicken slightly.