Stir in garlic and onion and cook until tender, about 5 minutes. Stir in carrots, tomatoes, broth, balsamic vinegar and sugar. Bring soup to a boil. Reduce heat to medium-low and simmer partially covered, until carrots are just tender, about 7 minutes.
Remove pot from heat source, uncover and leave to cool slightly. Working in small batches, transfer the soup to a blender. Add cilantro and puree until smooth.
Return soup to pot and stir in cream. Allow to simmer to heat through. Season with salt and pepper and serve.