In a large pot over medium heat, warm the olive oil. Add the onion and cook until soft and translucent, about 5 minutes. Stir in the garlic and cook for 1 minute.
Pour in the tomatoes (with juices), chicken broth, sugar, salt, and pepper. Bring to a gentle boil, then reduce heat and let it simmer for 15 minutes.
Remove the pot from heat. Add the basil. Use an immersion blender to puree the soup right in the pot, or carefully transfer to a blender in batches.
Stir in the heavy cream. Warm the soup gently over low heat for 2-3 minutes. Taste and adjust seasoning if needed.
Ladle into bowls, garnish with extra basil, and maybe a swirl of cream if you’re feeling fancy!