Heat the olive oil in a large pot over medium heat. Add the diced onion and cook for 4–5 minutes, stirring occasionally, until softened and translucent. Add the garlic and fresh ginger and cook for about 1 minute, stirring constantly, until fragrant.
Add the turmeric, cumin, coriander, and red pepper flakes. Stir continuously for about 30 seconds. This short step helps release the aroma of the spices and gives the broth a deeper flavor. Be careful not to burn the garlic or spices.
Add the cubed sweet potato and chickpeas. Stir for about a minute so they become evenly coated in the aromatic spice mixture.
Pour in the vegetable broth and coconut milk. Add the salt and black pepper and stir well. Bring the soup to a gentle boil, then immediately reduce the heat to medium-low.
Partially cover the pot and simmer gently for 18–22 minutes, stirring occasionally. The sweet potato should be tender enough to pierce easily with a fork but should still hold its shape. Avoid boiling aggressively because this can cause the coconut milk to separate and can break down the sweet potatoes.
Use the back of a wooden spoon to mash a few pieces of sweet potato and about ¼ cup of the chickpeas against the side of the pot. Stir them back into the soup to make the broth naturally creamier.
Add the baby spinach and stir. Cook for another 2–3 minutes, just until the spinach has wilted.
Remove the pot from the heat. Stir in the fresh lime juice, optional lime zest, and chopped cilantro. Taste and adjust the salt, pepper, or lime juice as needed.
Ladle the soup into bowls while hot. Finish with fresh cilantro, a few red pepper flakes, freshly ground black pepper, and a lime wedge on the side. For the prettiest presentation, make sure each bowl has plenty of visible chickpeas, sweet potato cubes, and spinach.