Heat coconut oil in a large pan over medium heat.
Add diced onion and sauté until translucent, about 5 minutes.
Stir in minced garlic and grated ginger; cook for 1 minute until fragrant.
Add ground cumin, coriander, turmeric, garam masala, and cayenne pepper. Cook spices for 1-2 minutes, stirring constantly.
Pour in diced tomatoes with their juice, and cook for 5 minutes, stirring occasionally.
Add chickpeas, coconut milk, and vegetable broth; stir to combine.
Bring the curry to a gentle simmer and cook uncovered for 15-20 minutes until slightly thickened.
Season with salt to taste.
Serve hot over basmati rice or with naan, garnished with fresh cilantro.