Heat olive oil in a pot over low heat and cook onion until soft and translucent. Add garlic and cook until fragrant, about 1 minute. Increase heat to medium, add all tomatoes, and cook until they start to break down, about 5 minutes. Stir occasionally. Add vegetable broth, bay leaves, and 1 sprig of basil. Bring to a boil, reduce heat, and simmer until tomatoes have broken down and soup starts to thicken, about 30 minutes.
Remove soup from heat and cool slightly. Remove bay leaves and basil.
Puree tomato soup with an immersion blender until smooth. Reheat soup before serving and garnish with basil leaves.