Preheat the oven to 400°F (200°C). Line a baking sheet with parchment paper and set aside.
Cut the tomatoes in half lengthwise. Cut the garlic head in half crosswise. Place the tomatoes and the garlic on the prepared baking sheet in a single layer. Sprinkle generously with salt and black pepper, and drizzle with olive oil. Roast for 30 minutes, then remove from the oven and let cool slightly.
In a medium pot, heat the olive oil over medium-high heat. Add the chopped onion and sauté until translucent, about 3 minutes. Once the garlic is cool enough to handle safely, use your fingers to squeeze the roasted cloves out of their skins directly into the pot.
Add in the roasted tomatoes and balsamic vinegar. Cook over medium heat for 5 to 8 minutes, stirring occasionally to prevent the balsamic sugars from sticking. Season with another pinch of salt and pepper.
Pour in the chicken or vegetable broth and bring the mixture to a simmer. Cook, uncovered, for 15 to 20 minutes to let the flavors meld.
Transfer the soup to a countertop blender or use an immersion blender to puree until smooth.
Return the soup to the pot over low heat and stir in the heavy cream. Taste and adjust the seasonings, if needed. Serve topped with a fresh drizzle of cream and torn fresh basil leaves.