01 - Warm vegetable oil in a large skillet or saucepan over medium heat.
02 - Add the chopped onion and cook for 5 minutes until translucent.
03 - Stir in garlic, grated ginger, and green chili if using; sauté 1 to 2 minutes until fragrant.
04 - Add cumin, coriander, turmeric, smoked paprika, cayenne pepper, salt, and black pepper; stir continuously for 1 minute.
05 - Incorporate diced tomato and cook for 5 minutes, stirring occasionally, until softened and thickened.
06 - Add chickpeas, coconut milk, and water; stir thoroughly to combine.
07 - Bring to a gentle simmer, cover, and cook for 15 to 20 minutes, stirring occasionally, allowing flavors to meld and sauce to thicken.
08 - If desired, stir in fresh spinach and cook until wilted, approximately 2 minutes.
09 - Remove from heat, mix in lemon juice, and sprinkle garam masala over the top.
10 - Garnish with chopped fresh cilantro and serve warm alongside rice or naan.