Heat the olive oil in a high saucepan. Steam the onions and garlic until translucent. Deglaze with balsamic vinegar and reduce until the vinegar has evaporated and a thick balsamic sauce has formed. Add paprika and tomato paste and sauté briefly. Add tomatoes, top up with water and broth and simmer for 5 minutes over medium heat.
Puree the soup and then strain it through a sieve. Season to taste with cayenne pepper, thyme, sugar, salt and pepper. Serve on plates with a splash of olive oil and a spoon of creme fraiche or sour cream.