Heat oil in saucepan over medium heat. Add onion and garlic; cook 5 minutes. Add tomatoes, sugar, vinegar, basil, bay leaf, and broth. Cover, and simmer 10 minutes. Remove bay leaf.
Puree soup in blender or food processor until smooth. Strain through fine mesh strainer into sauce pan; return to simmer. Remove from heat, and stir in half-and-half. Season with salt and pepper, if desired. Garnish with basil.