01 - Heat olive oil in a large heavy-bottomed pot over medium heat. Add the chopped onion, minced garlic, and sliced carrot. Sauté for 5 minutes, stirring occasionally, until the onion is translucent and the vegetables have softened.
02 - Add the chopped tomatoes to the pot and cook for 5 minutes, stirring frequently, until they begin to break down and release their juices.
03 - Pour in the vegetable broth. Add the dried basil (if using fresh, reserve for later), salt, pepper, and sugar if desired. Bring the mixture to a rolling boil, then reduce the heat to low and simmer uncovered for 20 minutes, allowing the flavors to meld together.
04 - Remove the pot from heat. Use an immersion blender to purée the soup directly in the pot until completely silky and smooth. Alternatively, carefully transfer the soup to a countertop blender in batches and blend until velvety.
05 - If using, stir in the heavy cream or milk. Return the pot to low heat and warm through gently. Do not allow the soup to boil once the dairy has been added.
06 - Taste the soup and adjust the salt and pepper as needed. Ladle into warm bowls and garnish with fresh basil leaves. Serve alongside crusty bread or grilled cheese sandwiches.