- 2 tablespoons peanut oil
- 2 tablespoons curry powder
- 2 medium onions, sliced (about 4 cups)
- 1 tablespoon minced garlic
- 2 large sweet potatoes (about 2 pounds), peeled and cut into chunks
- 2 quarts low-sodium chicken broth
- 1 (28-ounce) can whole tomatoes, drained and quartered
- 1 teaspoon salt
- 1/2 teaspoon black pepper
- 2 teaspoons cayenne, or less to taste
- 2 cups smooth peanut butter, or a combination of smooth and chunky
- 10 ounces unsweetened coconut milk
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.