Preheat oven to 450°F. Dice the celery, carrot, onion, and garlic.
Strain the tomatoes, reserving the juice; spread out onto a baking sheet and season with salt and pepper to taste. Drizzle with 2 tablespoons of the olive oil and roast for about 15 minutes until caramelized.
Meanwhile, in a saucepan, heat the remaining olive oil over medium-low heat. Add the celery, carrot, onion and garlic and cook about 10 minutes until softened.
Add the roasted tomatoes, reserved tomato juice, chicken broth, bay leaf, and butter to the saucepan. Simmer for 15-20 minutes or until vegetables are very tender.
Meanwhile, preheat a skillet or sandwich press and thinly slice cheese.
Spread butter onto one side of each piece of bread. Add 1 ounce of cheese to each of 4 slices then top with remaining slices forming 4 sandwiches, buttered-side out.
Place sandwiches onto hot skillet or sandwich press and cook until cheese has melted and bread is golden.
Add half and half to the soup (if using, more or less may be added to taste), and purée with a hand held immersion blender until smooth. Garnish with fresh basil if desired.
Serve soup with sandwiches and watermelon on the side.