Heat the olive oil in a large pot or Dutch oven over medium heat. Add the onion and sauté for about 5 minutes until softened and translucent.
Stir in the minced garlic and grated ginger, and cook for an additional 1-2 minutes until fragrant.
Add the ground turmeric, cumin, coriander, paprika, and cayenne pepper to the pot. Stir well to coat the onion, garlic, and ginger with the spices. Cook the spices for about 1 minute to toast them slightly and release their flavors.
Add the drained and rinsed chickpeas, diced tomatoes (with their juices), coconut milk, and vegetable broth to the pot. Stir to combine all the ingredients.
Bring the mixture to a simmer and let it cook uncovered for about 15-20 minutes, stirring occasionally, to allow the flavors to meld together and the stew to thicken slightly.
Taste and season with salt and pepper according to your preference.
Stir in the baby spinach and cook for an additional 2-3 minutes until the spinach wilts.
Remove the pot from heat and let the stew rest for a few minutes.
Serve the spiced chickpea stew in bowls, garnished with freshly chopped cilantro.