Heat oil in a large skillet over medium heat until shimmering, then add the chopped onion. Cook for about 5-7 minutes, stirring often, until translucent and fragrant.
Add minced garlic and cumin seeds to the skillet. Stir for about 30 seconds until fragrant and the seeds start to pop, filling your kitchen with warm aromas.
Stir in turmeric and chili powder, toast the spices for 30 seconds, then pour in the crushed tomatoes. Cook for 5 minutes, stirring occasionally, until the mixture darkens slightly and thickens.
Add the drained chickpeas to the skillet, pressing some with the back of your spoon to mash slightly for creaminess. Stir well and cook for another 5 minutes to meld the flavors.
Toss in the frozen spinach, stirring until it wilts and turns vibrant green, about 3-4 minutes. Squeeze out any excess water before adding to prevent diluting the sauce.
Pour in the coconut milk if using, stirring to combine. Let the curry simmer gently for 5 minutes, allowing the flavors to deepen and the sauce to thicken further.
Squeeze fresh lemon or lime juice into the curry, stir well, and taste. Adjust seasoning with salt if needed and cook for another minute.
Turn off the heat and let the curry rest for a minute or two. The sauce will thicken slightly and the flavors will settle, making it perfect to serve.
Scoop the hot curry into bowls, garnish with a squeeze of lemon if desired, and enjoy this rustic, comforting dish anytime you need a quick, veggie-packed meal.