In a large stainless steel pot or enameled dutch oven over medium heat, pour in the San Marzano tomatoes along with their juices. Break the tomatoes apart with a spoon or spatula.
Add quartered onion, minced garlic and butter.
Stir in the sugar to balance the acidity of the tomatoes. Season with salt and pepper to taste.
Bring the mixture to a simmer, then reduce the heat to low, cover, and let simmer for 30 minutes to allow the flavors to meld.
Remove the onions with a slotted spoon and discard.
Using an immersion blender, puree the soup until smooth.
Stir in the whipping cream and freshly grated parmesan cheese.
Simmer an additional 8-10 minutes to heat through.
Taste and adjust the seasoning if needed.