01 - Heat olive oil in a large pot over medium heat. Add onion, carrot, and celery. Sauté for 5-7 minutes until softened and translucent.
02 - Stir in minced garlic and cook for 1 minute until fragrant, being careful not to burn.
03 - Pour in diced tomatoes with juices, vegetable broth, sugar, dried basil, dried oregano, salt, and pepper. Bring to a boil, then reduce heat and simmer uncovered for 20 minutes to develop flavors.
04 - Remove pot from heat. Use an immersion blender to purée until completely smooth, or transfer to a countertop blender in batches, blending until velvety.
05 - Stir heavy cream into the puréed soup. Taste and adjust salt and pepper as needed. Keep warm over low heat while preparing dippers.
06 - Butter one side of each bread slice evenly. Place 4 bread slices butter-side down on a cutting board. Top each with 2 cheese slices. Cover with remaining bread slices, butter-side up.
07 - Heat a large skillet or griddle over medium heat. Cook sandwiches for 2-3 minutes per side until golden brown and cheese is fully melted.
08 - Remove sandwiches from skillet and let cool briefly. Cut each sandwich into 4 strips. Serve hot soup alongside grilled cheese dippers for dipping.