On a baking sheet, place the halved tomatoes, quartered onion, and unpeeled garlic cloves. Drizzle with 2 tablespoons of olive oil and season with salt and pepper.
Roast in the preheated oven for about 30-35 minutes, or until the tomatoes are caramelized and the onion is soft.
Remove the baking sheet from the oven and let it cool slightly. Squeeze the roasted garlic cloves from their skins and discard the skins.
In a large pot, combine the roasted tomatoes, onion, garlic, and any juices from the baking sheet. Add the vegetable broth and sugar (if using), and bring to a simmer over medium heat.
Stir in the fresh basil leaves and simmer for an additional 10 minutes.
Using an immersion blender, puree the soup until smooth. Alternatively, transfer the soup in batches to a blender, blending until silky (be careful with hot liquids).
If you desire a creamier soup, stir in the heavy cream and heat through. Adjust seasoning with salt and pepper to taste.
Ladle into bowls and garnish with fresh basil leaves.