Heat the peanut oil in a large Dutch oven or stockpot over medium-high heat. Add curry powder and cook, stirring constantly for 1 minute. Add onions and cook, stirring occasionally, until softened, 4 to 6 minutes. Add garlic and cook for 1 more minute. Stir in sweet potatoes, chicken broth and tomatoes, and bring soup to a boil. Simmer, partially covered, 20 to 30 minutes.
Add the salt, black pepper, cayenne, peanut butter, and coconut milk to the soup, stirring to combine. Bring mixture to a simmer and cook for 20 minutes.
Remove the pot from the heat and puree with a hand-held immersion blender, or in batches in a blender or food processor. Season to taste with salt and pepper and serve hot.
Yield: about 4 quarts