Preheat oven to 425°F. Cut the top 1/4-1/3 off each garlic head to expose the cloves. Drizzle with 1/2 tbsp olive oil and wrap in foil.
Add tomatoes and onion to a baking sheet. Nestle in thyme, drizzle with remaining olive oil, and season with salt and pepper. Add the wrapped garlic.
Roast for 35-45 minutes, until the tomatoes are caramelized and the garlic is soft and golden.
Remove the thyme stems. Squeeze the roasted garlic from its skins into a large pot.
Add roasted tomatoes and onion, broth, fresh basil, honey, and balsamic vinegar.
Bring to a gentle simmer for 5-10 minutes.
Use an immersion blender to blend until completely smooth.
Stir in heavy cream and simmer for another 2-3 minutes.
Taste and adjust seasoning. Add more honey for a slightly sweeter tomato soup or more salt if needed.
Serve topped with fresh basil, Parmesan, and a drizzle of olive oil.