01 - Heat olive oil in a large pot over medium heat. Add onion and cook for 4 to 5 minutes until softened and translucent. Stir in garlic and cook for 1 minute until fragrant.
02 - Add tomatoes with their juices, vegetable broth, sugar, salt, pepper, and red pepper flakes if using. Bring to a boil, then reduce heat and simmer uncovered for 20 minutes, stirring occasionally.
03 - Add fresh basil leaves, then use an immersion blender to puree the soup until completely smooth. Alternatively, carefully transfer the soup in batches to a countertop blender and blend until smooth, then return to the pot.
04 - Stir in the heavy cream and heat gently over low heat for 2 to 3 minutes. Adjust seasoning to taste.
05 - Ladle into bowls and serve hot, garnished with extra basil leaves and a drizzle of cream if desired.