In a large pot, heat the olive oil over medium heat. Add the chopped onion and garlic, and sauté until the onion is soft and translucent.
Add the diced tomatoes (with their juices) to the pot, along with the broth and sugar. Bring the mixture to a simmer and let it cook for about 15-20 minutes.
Use an immersion blender to puree the soup until smooth. If you don’t have an immersion blender, you can carefully transfer the soup in batches to a regular blender to puree.
Season the soup with salt and pepper to taste. If you’d like a creamier soup, stir in the heavy cream at this point.
Serve the soup hot, garnished with fresh basil if desired.