Place the tomatoes in a large baking dish or baking sheet.
Slice the top off the garlic and add to the tomatoes with the fresh basil, oregano, chilli flakes, salt and pepper.
Drizzle over the olive oil and the Balsamic vinegar. Place the tomatoes in the oven and allow to roast for 30-45 minutes until the tomatoes start to char around the edges.
Remove from the oven.
In a large pot set over medium-high heat, melt a tablespoon of butter.
Add a finely diced onion and sauté until soft and fragrant.
Squeeze the roasted garlic into the pot then discard the skins.
Transfer the roasted tomatoes to the pot along with any juices. Pour in the broth/stock then bring to a boil and cook for 10 minutes.
Once the soup has simmered for 10 minutes, transfer the soup to a blender and blend until smooth.
Pour back into the pot then add the cream, taste and adjust seasoning if necessary. Simmer for 5 minutes while you make the grilled cheese sandwiches.
Add grated cheese to sliced bread. Top with another slice of bread and butter generously on the outside.
Cook the grilled cheese in a pan set over medium heat until golden brown on both sides.
Remove the grilled cheese from the heat and allow to cool for a few minutes then slice into cubes with a hot knife.
Ladle the hot soup into serving bowls then add a swirl of cream (optional).
Add grilled cheese croutons and fresh basil then serve immediately.
Notes
Calories calculated include only the soup, per portion (this recipe serves 6 - 8 people), not the grilled cheese sandwiches.