Heat the oil in your wide, shallow pan over medium heat until shimmering and fragrant.
Add the finely diced onion and cook for about 3-4 minutes, stirring occasionally, until it turns translucent and starts to brown slightly, filling your kitchen with a sweet, savory aroma.
Stir in the minced garlic and cook for about 30 seconds, until it releases a fragrant, nutty aroma, being careful not to let it burn.
Add the tomato paste, cumin, and garam masala, stirring constantly for 1-2 minutes until the paste darkens slightly and spices release their aroma.
Pour in the coconut milk and water, stirring to combine. Bring the mixture to a gentle simmer and cook for 5 minutes, allowing the sauce to thicken and flavors to meld.
Add the drained chickpeas to the sauce, stirring well, and cook for another 5 minutes until they are heated through and slightly tender.
Stir in the frozen spinach straight from the freezer, mixing until evenly distributed and the spinach is heated and wilted, about 3-4 minutes.
Adjust the sauce consistency if needed by simmering a few more minutes or adding a splash more water. Season with salt to taste and a squeeze of lemon juice if desired.
Turn off the heat, cover the pan, and let the curry rest for 2 minutes to allow flavors to meld. Serve hot, garnished with fresh herbs if you like, alongside rice or bread.