Heat olive oil in a small saucepan over medium heat. Cook onion for 5 minutes, then garlic for 30 seconds.
Add tomatoes, broth, salt and pepper. Simmer uncovered for 12 to 15 minutes until onion is fully soft.
While the soup simmers, divide cheddar between 2 sourdough slices, close with remaining bread and butter the outside faces. Cook in a large skillet over medium-low heat for 4 to 5 minutes per side until golden and melted.
Blend soup until smooth with an immersion blender, then stir in cream and heat gently for 1 minute.
Rest sandwiches for 1 minute, cut diagonally and serve one with half the tomato soup in a small bowl per person.