Preheat oven to 375 degrees F.
Lightly coat the sweet potatoes with 1 tablespoon of the oil. Place on a baking sheet and roast until fork tender, turning once, 35 to 45 minutes. Toss the tomato halves with 1 tablespoon of the oil and spread in 1 layer on a baking sheet. Lightly season with salt and pepper, and bake until shriveled, 20 minutes. Remove both the potatoes and tomatoes from the oven. Peel the potatoes when cool enough to handle.
Heat the remaining 2 tablespoons of oil in a small stockpot over medium-high heat. Add the curry powder and toast until aromatic, stirring constantly, for 2 minutes. Add the onions and cook until soft, 3 minutes. Add the garlic, and cook, stirring, for 30 seconds. Season with the cayenne, then add the peanut butter, and stir well. Add the tomatoes, peeled potatoes, chicken stock, and coconut milk and bring to a boil. Reduce the heat to medium-low and simmer for 15 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