Melt the butter in a large pot or Dutch oven over medium heat.
Add the diced onion and cook for 6-8 minutes, stirring occasionally, until soft and translucent.
Stir in minced garlic and cook for about 1 minute, just until fragrant.
Mix in sugar, salt, pepper, and dried basil.
Add the San Marzano tomatoes with their juices, broth, and white wine (if using). Break the tomatoes apart with a wooden spoon. Bring the soup to a gentle boil.
Reduce the heat and simmer uncovered for 10 minutes, stirring occasionally.
Remove the pot from the heat. Carefully blend the soup with an immersion blender until smooth and creamy. Keep the blender head submerged to prevent the hot soup from splattering.
Return the pot to low heat and stir in the heavy cream.
Add the Parmesan cheese, stirring until completely melted and incorporated. Do not allow the soup to boil once the cream and cheese have been added.
Taste and adjust the salt and pepper as needed. Serve warm with fresh basil, croutons, grilled cheese, or additional Parmesan.
Keyword homemade, tomato soup
Did you try this recipe?Please let us know how it was!