Heat oil in a large skillet over medium heat until shimmering. Add chopped onion and cook, stirring occasionally, until golden and fragrant (~7 minutes).
Add minced garlic and grated ginger to the pan. Cook for 1 minute until aromatic, the mixture will smell fragrant and the garlic will turn slightly golden.
Stir in the tomato paste and cook for 2-3 minutes, stirring constantly, until the paste darkens slightly and releases a rich aroma.
Add ground cumin, coriander, turmeric, and garam masala. Toast the spices for about 1 minute, stirring constantly, until fragrant and slightly darker in color.
Stir in the rinsed chickpeas, coating them evenly with the spice mixture. Cook for 5 minutes, allowing the flavors to meld and the chickpeas to absorb the spices.
Pour in the coconut milk, stirring to combine. Bring the mixture to a gentle simmer and cook for another 5-7 minutes, until the sauce has thickened slightly and looks glossy.
Remove from heat and stir in lemon juice. Taste and adjust seasoning with salt for balance. Let sit for 2 minutes to allow flavors to meld.
Serve hot over steamed rice or with warm naan, garnished with fresh herbs if desired. The sauce should be creamy, fragrant, and coating the chickpeas beautifully.