01 - Heat olive oil in a large saucepan over medium heat. Add onion and carrot, sauté for 5 minutes until softened.
02 - Add minced garlic and cook for 1 minute until fragrant.
03 - Stir in canned tomatoes with their juice, vegetable broth, sugar, dried basil, salt, and black pepper. Bring to a boil.
04 - Reduce heat to low, cover, and simmer for 20 minutes.
05 - Remove from heat and puree soup until smooth using an immersion blender or a countertop blender in batches.
06 - Return soup to low heat, stir in heavy cream, and heat gently for 2 to 3 minutes. Adjust seasoning as needed.
07 - Butter one side of each bread slice.
08 - Place 4 bread slices, buttered side down, on a skillet over medium heat. Top each with 2 slices of cheddar cheese, then cover with remaining bread slices, buttered side up.
09 - Cook for 3 to 4 minutes per side until bread is golden brown and cheese is melted.
10 - Remove from skillet, let cool slightly, and slice each sandwich into strips for dipping. Serve with hot tomato soup.