1Heat the oil in a large saucepan over medium-high heat. Saute the onion 10 minutes, until lightly browned. Mix in the garlic, ginger, cumin, coriander, cinnamon, and cloves. Stir in the tomatoes, sweet potatoes, and carrot, and continue to cook and stir about 5 minutes.
2Pour water into the saucepan, and season the mixture with salt. Bring to a boil, reduce heat, and simmer 30 minutes.
3Remove the soup mixture from heat. In a food processor or blender, blend the soup and peanuts until almost smooth. Season with cayenne pepper. Return to the saucepan. Whisk in the peanut butter, and cook until heated through. Serve warm topped with fresh cilantro.