Sauté vegetables: Heat olive oil in a large pot over medium heat. Add the diced onion, garlic, and carrots. Cook for 5-7 minutes until softened, stirring occasionally.
Add tomatoes: Stir in the chopped tomatoes and tomato paste, cooking for another 5 minutes. The tomatoes should soften and release their juices.
Add broth and seasonings: Pour in the vegetable broth and add the bay leaf, salt, pepper, and sugar (if using). Bring the mixture to a boil, then reduce heat and let it simmer for 20 minutes.
Blend the soup: Remove the bay leaf. Using an immersion blender, blend the soup until smooth. If using a traditional blender, let the soup cool slightly before transferring it in batches to the blender. Return the blended soup to the pot.
Adjust seasoning: Taste and adjust salt and pepper as needed. For a creamier soup, stir in the heavy cream.
Serve: Ladle the soup into bowls. Garnish with fresh basil and croutons, if desired.