Cook the onions in olive oil on medium heat until translucent.
Add garlic and cook for another minute.
Pour in the canned tomatoes, vegetable broth, and basil. Season with salt and pepper.
Allow the soup to simmer for 20 minutes, occasionally mashing the tomatoes.
Once cooked, blend the soup using a hand blender until smooth.
Add heavy cream and stir well. Adjust seasoning if necessary.
Place a slice of cheese between two slices of bread for the grilled cheese.
Butter the outside of the bread generously.
Over medium heat, cook the sandwich in a non-stick skillet until the bread is golden brown and the cheese is melted, about 3-4 minutes per side.
Serve the hot grilled cheese with the tomato soup on the side.