Preheat oven to 400°F. Line a baking sheet with parchment paper.
Place halved tomatoes, onion quarters, and garlic cloves on the sheet.
Drizzle with olive oil and season with salt and pepper.
Roast for 40-45 minutes, until tomatoes are caramelized.
Transfer roasted vegetables to a large pot. Add vegetable broth.
Simmer over medium heat for 10 minutes.
Use an immersion blender to puree until smooth (or use a countertop blender).
Stir in heavy cream and basil. Simmer for 5 more minutes.
Season to taste and add sugar if tomatoes are too acidic.
Serve hot with a sprinkle of Parmesan cheese if desired.