01 - Heat olive oil in a large saucepan over medium heat. Add diced onion and cook for 5 minutes until softened but not browned.
02 - Stir in minced garlic and cook for 1 minute until fragrant, being careful not to burn.
03 - Add chopped tomatoes with juices if using canned. Cook for 5 minutes, stirring occasionally, until tomatoes begin to break down and release their liquid.
04 - Pour in vegetable stock and bring to a boil. Reduce heat to low and simmer uncovered for 15 minutes to develop flavors.
05 - Add fresh basil leaves. Use an immersion blender directly in the pot or transfer to a countertop blender to purée until completely smooth.
06 - Return soup to pot if necessary. Stir in heavy cream and sugar if using. Season generously with salt and pepper to taste. Gently reheat until hot but not boiling.
07 - Ladle into warm bowls and garnish with extra fresh basil leaves. Serve immediately while hot.