Heat the olive oil in a large, heavy-bottomed pot over medium-low heat. Add the onions and carrots and saute for about 10 minutes, until very tender. Add the garlic and cook for 1 minute. Add the tomatoes, sugar, tomato paste, basil, chicken stock, salt, and pepper and stir well. Bring the soup to a boil, lower the heat, and simmer, uncovered, for 30 to 40 minutes, until the tomatoes are very tender.
Add the cream to the soup and process it through a food mill into a bowl, discarding only the dry pulp that's left. Reheat the soup over low heat just until hot and serve with julienned basil leaves and/or croutons.