Melt the butter in a large pot over medium heat. Add the onion and cook until softened, about 5 minutes.
Add the garlic and cook for 1 minute more, until fragrant.
Stir in the crushed tomatoes, vegetable broth, and sugar. Bring to a simmer and cook for 20 minutes, stirring occasionally.
Stir in the chopped basil, then use an immersion blender to puree the soup until smooth.
Stir in the heavy cream and season with salt and pepper to taste. Warm through over low heat.
Ladle into bowls and garnish with extra basil and grated Parmesan, if desired.