Heat the oil in a large skillet over medium heat until shimmering. Add the diced onion and cook for 5-7 minutes until translucent and fragrant, stirring occasionally.
Add the minced garlic and grated ginger to the skillet. Cook for 30 seconds until fragrant, stirring constantly to prevent burning.
Stir in the tomato paste and ground cumin. Cook for 1-2 minutes until the mixture darkens slightly and releases a warm aroma.
Add the drained chickpeas and diced tomatoes to the skillet. Stir well, then bring to a gentle simmer. Let it cook uncovered for 10 minutes, stirring occasionally, until the sauce thickens and flavors meld.
Gradually add the fresh spinach, handful by handful, stirring until each batch wilts and the greens turn glossy and vibrant. Continue until all the spinach is incorporated, about 2-3 minutes.
Pour in the coconut milk (if using) and season with salt and pepper. Stir to combine and simmer for another 2 minutes to allow the flavors to meld and the sauce to thicken slightly.
Remove from heat and squeeze in the fresh lemon juice. Taste and adjust seasoning as needed, adding more salt, pepper, or lemon to brighten the flavors.
Let the curry rest for a minute, then serve hot over rice or with crusty bread. Garnish with extra herbs if desired, and enjoy the warm, spicy aroma filling your kitchen.