Cut the tomatoes into large dice. Chop shallots and garlic coarsely. Fry in the olive oil in a large pan (big enough to hold the soup) on low heat for about ten minutes. The garlic and shallots should turn soft, but not brown. Add the sugar, the vinegar and the water, together with the tomatoes. Bring to a boil, and let cook on medium heat, partially covered, for about 35 minutes. Stir once in a while.
Using an immersion blender, or a regular one, mix the soup until smooth. Season with salt and cayenne - don't skimp, you need quite a bit to get the kick this soup should have!
Serve with a dollop of pesto, and a good crusty bread.