Preheat the oven and prepare the tomatoes: Set the oven to 400°F (200°C). Arrange the halved tomatoes and garlic cloves on a baking sheet. Drizzle with olive oil and sprinkle with salt, pepper, and oregano.
Roast the tomatoes: Place the baking sheet in the oven and roast for about 30 minutes, or until the tomatoes are soft and slightly caramelized.
Sauté the onions: In a large pot, heat a tablespoon of olive oil over medium heat. Add the diced onions and cook until soft and translucent, about 5 minutes.
Blend the ingredients: Transfer the roasted tomatoes, garlic, and sautéed onions to a blender. Add the fresh basil and blend until smooth.
Simmer the soup: Pour the blended mixture back into the pot. Stir in the vegetable broth and bring to a gentle simmer for 10 minutes.
Finish with cream (if using): Stir in the heavy cream or coconut milk for an extra silky texture.
Taste and adjust seasoning: Add more salt, pepper, or red pepper flakes as needed.
Serve warm: Ladle into bowls and garnish with extra basil leaves and a swirl of cream.