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.
Add diced tomatoes (with juice) to the pot.
Pour in the vegetable broth and bring to a simmer.
Add chopped basil leaves and season with salt and pepper.
Let the soup simmer for 20 minutes to blend flavors.
Use an immersion blender to puree the soup until smooth.
If desired, stir in heavy cream for a richer texture.
Garnish with fresh basil leaves before serving.