Heat olive oil in a Dutch oven over medium heat. Add onion and cook for 5–6 minutes, until soft.
Stir in garlic and cook 1 minute more, until fragrant.
Add tomatoes with their juices, vegetable broth, basil, salt, pepper, and sugar (if using). Stir to combine.
Bring to a simmer, cover, and cook for 20–25 minutes.
Use an immersion blender to blend the soup until smooth.
Stir in heavy cream. Taste and adjust seasoning as needed.
Serve hot, topped with croutons, or alongside grilled cheese as a whole meal.