In a large heavy pot or dutch oven, melt the butter over medium heat. Add the onion and cook until translucent, stirring occasionally, about 5 minutes.
Add the tomatoes, chicken stock and sugar and bring to a boil. Reduce the heat to low and simmer for 20 minutes.
Remove from heat and blitz with an immersion blender, or in batches in a regular blender, until smooth.
Stir in cream, if desired. Season with salt and pepper to taste.