Heat the olive oil in a large pot over medium heat. Add the onion, garlic, ginger, and turmeric. Cook for 4 to 5 minutes until the onion softens and the spices smell fragrant.
Stir in the sweet potatoes, diced tomatoes with their juice, vegetable broth, and cayenne pepper. Bring the mixture to a boil, then lower the heat and simmer for 15 minutes until the sweet potatoes are tender.
Add the peanut butter and stir until it melts fully into the broth. Continue simmering for another 5 minutes.
Stir in the spinach and cook for 2 minutes until it wilts. Taste and season with salt and black pepper as needed.
Ladle the soup into bowls and top with cilantro and a squeeze of lime.