Preheat the oven to 350°F and prepare a large baking sheet with parchment paper. Arrange the halved tomatoes with the cut side facing upward on the sheet, drizzle them with 2 tablespoons of the olive oil, and lightly season with salt and black pepper. Roast for 1 hour, until the edges begin to dry while the interiors remain juicy.
In a large pot over medium heat, warm the remaining 2 tablespoons of olive oil. Sauté the chopped onion, carrots, garlic, and ½ teaspoon salt until softened, about 8 minutes. Incorporate the roasted tomatoes, broth, vinegar, and thyme, and let the mixture simmer gently for 20 minutes.
Allow the soup to cool briefly, then transfer to a blender in batches if needed. Blend until a smooth consistency is reached. Add the basil leaves and pulse until just incorporated.
Adjust seasoning to taste. Serve warm, garnished with fresh basil leaves.