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