Heat the olive oil in a large pot over medium heat. Add the chopped onion and garlic, and sauté until soft and fragrant, about 5-7 minutes.
Add the canned tomatoes, including the juice, to the pot. Use a wooden spoon or spatula to break up the tomatoes into smaller pieces.
Add the chicken or vegetable broth to the pot, along with the sugar, salt, and black pepper. Bring the soup to a boil, then reduce the heat to low and let it simmer for 20-25 minutes, stirring occasionally.
Remove the soup from the heat and use an immersion blender to puree the soup until smooth. Alternatively, transfer the soup in batches to a blender and puree until smooth, then return it to the pot.
Stir in the heavy cream until well combined.
Serve the tomato soup hot, garnished with freshbasil leaves if desired.