Warm the oil in a wide pan over medium heat. Add the onion with a pinch of salt and cook, stirring now and then, for 7–8 minutes until soft and lightly golden.
Stir in the garlic, ginger and chili and cook for 1 minute, until fragrant.
Add the cumin, coriander, turmeric and garam masala and stir for 30 seconds so the spices toast in the oil. Lower the heat if they start to stick.
Pour in the tomatoes, chickpeas, water and salt. Bring to a simmer and cook for 12–15 minutes, stirring occasionally, until the sauce thickens. Lightly crush a few chickpeas against the pan to make it creamier.
Add the spinach a handful at a time, stirring until each batch wilts. Finish with lemon juice, taste, and adjust the salt.