Add the olive oil to a large heavy-bottomed stock pot set over medium-low heat.
Add the onions and carrots and cook, stirring occasionally, until the onions are transluscent and the carrots are fork-tender, 8 to 10 minutes.
Add the garlic and cook, stirring, for 2 minutes.
Stir in the tomatoes, sugar, tomato paste, basil and chicken stock.
Bring the soup to a boil, then reduce it to a simmer and cook, uncovered, for 30 minutes.
Carefully transfer a portion of the soup into a blender or food processor. Blend the soup in batches then return it to the pot. Whisk in the heavy cream.
Cook the soup over medium-low heat until warmed throughout, then taste and season with salt, pepper and sugar, as desired. Serve the soup in bowls and garnish with a drizzle of basil pesto (optional).