1) Heat the olive oil in a large, heavy-bottomed pot over medium-low heat. Add the onions and carrots and saute for about ten minutes, until very tender. Add the garlic and cook for one minute. Add the tomatoes, sugar, tomato puree, 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.
2) 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.