Heat the olive oil in a large skillet over medium heat. Add the diced onion and sauté for about 5 minutes, or until translucent.
Stir in the minced garlic and grated ginger, cooking for an additional 1-2 minutes until fragrant.
Add the chicken pieces to the skillet, cooking until they are browned on all sides, about 5-7 minutes.
Sprinkle in the curry powder, ground cumin, ground coriander, and cayenne pepper. Stir well to coat the chicken evenly with the spices.
Add the chickpeas, diced tomatoes (with their juice), and coconut milk to the skillet. Stir to combine and bring the mixture to a simmer.
Reduce the heat to low and let the curry simmer for 15-20 minutes, stirring occasionally, until the chicken is cooked through and the sauce has thickened. Season with salt and pepper to taste.
Serve the curry over cooked rice or with naan, garnished with fresh cilantro.