01 - Heat olive oil in a large pot over medium heat. Add onion and cook until translucent, about 5 minutes.
02 - Add garlic, carrot, and celery; sauté for 3 minutes until fragrant.
03 - Stir in tomatoes with juices, vegetable broth, sugar, salt, and black pepper. Bring to a boil, then reduce heat and simmer uncovered for 25 minutes, stirring occasionally.
04 - Preheat oven to 350°F. In a large bowl, toss bread cubes with olive oil, minced garlic, and salt until evenly coated. Spread on a baking sheet and bake for 10-12 minutes, turning halfway, until golden and crisp.
05 - Remove soup from heat. Add basil leaves. Using an immersion blender or countertop blender, purée until smooth and creamy.
06 - Stir in heavy cream. Taste and adjust seasoning with additional salt or pepper if needed.
07 - Ladle soup into bowls. Top each serving with garlic croutons and fresh basil leaves if desired.