Heat the oil in a large, heavy-bottomed pan over medium heat until shimmering. Add the finely chopped onion and cook, stirring occasionally, for about 5 minutes until translucent and just beginning to turn golden.
Stir in the ground cumin, turmeric, and coriander. Cook for about 30 seconds until the spices crackle and release their warm aroma, coating the onions evenly.
Add the minced garlic and cook for another minute, stirring constantly, until fragrant and slightly softened. Be careful not to let the garlic brown too quickly.
Stir in the tomato paste and cook for 2 minutes, allowing it to darken slightly and the oil to turn a rich ruby-red hue, which deepens the flavor base.
Add the rinsed chickpeas to the pan, stirring well to coat them with the spice mixture. Let cook for 2 minutes, absorbing all those flavors.
Pour in the frozen spinach, breaking it apart with your spoon. Cover the pan and cook for about 5 minutes, stirring occasionally, until the spinach is wilted and vibrant green.
Pour in the coconut milk and bring the mixture to a gentle simmer. Let it cook uncovered for about 10 minutes, stirring now and then, until the sauce thickens and turns silky.
Taste the curry and season with salt as needed. If the sauce is too thick, add a splash of water and simmer briefly to loosen it. If it's too thin, let it simmer a little longer to thicken.
Remove from heat and let the curry sit for a couple of minutes to allow flavors to meld. Serve hot over rice or with flatbread, garnished with fresh herbs if desired.