Preheat the oven to 400°F and line a rimmed baking sheet with parchment paper. Place the quartered tomatoes on the baking sheet, then scatter the unpeeled garlic cloves among them. Drizzle the olive oil over the tomatoes and garlic, then use your hands to evenly coat everything. Sprinkle with salt and cracked black pepper. Roast in the oven for 1 hour, or until the tomatoes are very soft and begin to caramelize around the edges.
While the tomatoes are roasting, heat a dutch oven over medium heat. Add 1 tablespoon olive oil and heat until it shimmers. Add the diced onion and sauté, stirring occasionally, until soft, about 6–7 minutes. Sprinkle in the dried basil and oregano, then continue sautéing for another 1–2 minutes until fragrant.
Pour in the balsamic vinegar to deglaze the pot, scraping up any brown bits from the bottom. Allow the vinegar to bubble and reduce by half. Add the vegetable broth and the sprig of fresh thyme, bring the mixture to a boil over high heat, then reduce to medium-low and simmer for 10–15 minutes to let the flavors infuse. Turn off the burner and remove the thyme sprig, shaking it to release any leaves into the pot.
Once the roasted tomatoes and garlic are ready, carefully remove the garlic cloves from the pan and let cool for about 5 minutes. Squeeze the roasted garlic from their skins into the soup pot. Add the roasted tomatoes as well. Optional: pour in the heavy cream for extra richness, and add 1/4 cup chopped fresh basil. Use an immersion blender to blend the soup in the pot until smooth, adding extra broth if you want a thinner consistency. I like to add a little extra basil at this point for a fresher taste.
Ladle the hot soup into bowls. Garnish each serving with additional fresh basil if desired and serve immediately. For storage, keep leftovers in a tightly sealed container in the fridge for up to 1 week or freeze in an airtight container for up to 3 months.