Preheat the oven to 350°F.
In a large bowl, combine tomatoes, onions, garlic, olive oil, salt and pepper. Toss with clean hands or a large spoon until everything has a light coating of olive oil.
Divide tomato mixture between two sheet pans. Roast tomato mixture in 350°F oven for 1 hour.
While tomatoes are roasting, begin working on the grilled cheese croutons.
Spread one side of each slice of bread with about 1 tbsp. softened butter. Sprinkle ⅙ of the shredded gruyere cheese between two slices of bread, butter side out. Repeat this step to assemble six sandwiches total.
Heat a skillet on medium heat on the stove. Place a sandwich in the skillet and cook each side until the bread is golden brown and the cheese has melted (about 3-4 minutes each side). Repeat with each assembled sandwich.
Allow sandwiches to cool. To make the croutons, cut each sandwich into 1-inch cubes. Set aside.
When tomatoes are finished roasting, transfer mixture into a large stockpot. Add vegetable stock and basil.
Using an immersion blender, blend the tomatoes, stock, and basil until the mixture is smooth and there are no chunks.
Add 3 bay leaves, turn stove to high heat, and bring soup to a boil. Reduce heat to medium low and simmer soup for 15 minutes.
Add cream, taste (carefully!), and add salt/pepper to taste, as needed. Remove bay leaves.
Pour tomato bisque in a bowl and garnish with 3-4 grilled cheese croutons. Serve and enjoy!