Heat oil in a large skillet over medium heat until shimmering. Add chopped onion and cook for about 5 minutes, stirring occasionally, until translucent and fragrant.
Add minced garlic and grated ginger to the skillet. Cook for 30 seconds until fragrant, stirring constantly. The mixture should smell warm and aromatic.
Stir in tomato paste, cumin, turmeric, and chili powder. Cook for 1-2 minutes, stirring constantly, until spices are toasted and fragrant, filling the kitchen with a warm aroma.
Add drained chickpeas to the skillet. Stir well to coat them in the spice mixture. Cook for 3 minutes, allowing the chickpeas to heat through and absorb the flavors.
Mix in the thawed and squeezed dry spinach. Stir until the greens wilt and turn bright green, about 2-3 minutes. If the mixture seems watery, cook a little longer to let excess moisture evaporate.
Pour in the coconut milk if using, then stir to combine. Reduce heat to low, cover, and simmer for 10 minutes, stirring occasionally, until the sauce thickens slightly and becomes rich.
Uncover and taste the curry. Adjust salt and spice as needed. Squeeze in fresh lemon juice to brighten the flavors and stir well.
Remove from heat and let sit for a couple of minutes. The curry should be thick, glossy, and fragrant, ready to serve. Garnish with herbs if desired.