Heat the oil in a large saucepan over medium heat. Saute the onion 5 minutes, until translucent. Mix in the garlic, cumin, coriander, and cinnamon. Stir in the tomatoes, sweet potatoes, and carrot, and continue to cook and stir about 5 minutes.
Pour water and bouillon into the saucepan. Bring to a boil, cover, reduce heat, and simmer 30 minutes or until all is soft.
Turn off the heat. Using an immersion blender, blend the soup and peanut butter until smooth. Season with a pinch of pepper.