Heat olive oil in a large pot over medium heat.
Add chopped onion and sauté until translucent.
Stir in minced garlic and cook for an additional minute.
Pour in the diced tomatoes (with juices) and vegetable broth.
Bring the mixture to a boil, then reduce to a simmer.
Add sugar, salt, and pepper to taste.
Simmer for 20 minutes to allow the flavors to meld.
Remove from heat and add fresh basil leaves.
Use an immersion blender to puree the soup until smooth.
Stir in heavy cream if desired, and adjust seasoning before serving.