1. Warm the oil in a wide soup pot set over high heat. Add the onions, bell peppers, ginger, and sweet potatoes, and sauté, stirring frequently, until the onions have begun to color, 8 to 10 minutes, adding the garlic after the first 5 minutes. Add 1 teaspoon salt, several good twists of the pepper mill, and the cayenne, to taste, and cook a few minutes longer.
2. Add the tomatoes and scrape the pot to lift up any brown bits from the bottom. Add the water or stock, bring to a boil, then lower the heat and simmer, covered, for 25 minutes.
3. Add the peanut butter and cook, stirring, until it has dissolved.
4. Remove 2 cups of the soup and puree with the tofu until perfectly smooth. Return this mixture to the soup. (If you wish, puree the entire soup.) Taste for salt and for the heat level, adding more cayenne if desired.
5. Serve with 1/3 cup rice mounded in each bowl and plenty of scallions scattered over the top.