Prepare the vegetables:
Heat the olive oil in a large pot over medium heat. Add the chopped onion and cook until softened, about 5-7 minutes. Add the minced garlic and cook for another minute until fragrant.
Cook the tomatoes:
Add the chopped fresh tomatoes (or canned tomatoes) to the pot along with the vegetable or chicken broth. Stir in the oregano, salt, pepper, and sugar (if using). Bring the mixture to a simmer and cook for 15-20 minutes, allowing the tomatoes to break down and the flavors to meld together.
Blend the soup:
Once the tomatoes are soft and the soup has thickened slightly, remove the pot from heat. Use an immersion blender to puree the soup directly in the pot, or transfer the soup in batches to a blender and blend until smooth.
Add basil and cream:
Return the soup to the pot (if using a blender), and stir in the fresh basil leaves. Let it simmer for another 2-3 minutes until the basil wilts. For a creamy texture, stir in the heavy cream or coconut cream.
Adjust seasonings:
Taste the soup and adjust the salt, pepper, or sugar as needed. If you prefer a thinner soup, add more broth or water until the desired consistency is reached.
Serve:
Ladle the soup into bowls, garnish with fresh basil leaves if desired, and serve hot.