In a large sauce pan, heat oil and fry onion and garlic until golden brown.
Place the tomatoes and their liquid in a bowl, and crush the tomatoes with a potato masher or a spoon, breaking them into small pieces. Add the tomatoes and their liquid to the onions, reduce heat to very low, add peanut butter, and stir until well combined.
Add cumin, hot sauce, cayenne, chili, vinegar, salt, pepper, sugar, tomato paste and water, and stir until well combined.
Cook over low heat at a bare simmering for 10 to 15 minutes, stirring frequently. (This soup burns very easily, so keep the heat low and don't allow it to come to a full boil.)