Preheat oven to 450 F.
Spread the tomatoes and garlic in a 9-inch round or square baking pan, then sprinkle the torn basil leaves over the top.
Drizzle with 2 Tbsp olive oil, sprinkle with 1 tsp of the salt and the pepper and toss to coat.
Roast for 30 minutes, uncovered. Remove from oven and set aside.
Meanwhile, in a large pot, heat the remaining olive oil over medium heat. Add the bay leaf and sauté until lightly browned, then add the onions and cook until golden (about 8 minutes).
Remove the bay leaf, then add the roasted tomatoes and their juices, sugar, bouillon cubes, remaining ½ tsp salt, water and chili powder if using. Blend until smooth, then bring the mixture to a simmer and cook for 15 minutes.
Stir in the warmed cream and Parmesan cheese. Pour in some hot water if you prefer a thinner soup and adjust salt to taste.
Serve the soup garnished with extra Parmesan and fresh basil or parsley leaves.