Heat the olive oil in a saucepan over medium heat. Add onion with a pinch of salt and cook for 6–8 minutes until soft and golden.
Add garlic and cook for 1 minute. Stir in tomato paste and cook for 2 minutes until it darkens in colour and develops richness.
Add canned tomatoes with their juice, stock, sugar, chilli flakes, and smoked paprika. Simmer uncovered for 20 minutes to reduce and intensify flavour.
Transfer the soup carefully into a blender. Blend on high until completely smooth and silky. Return the pot to the stove, stir in the cream, and season with salt and pepper. Keep warm.
For the toasties, mix the cheddar and gruyère. Spread butter on one side of each slice of bread and mayonnaise on the other side.
Divide the cheese mixture between two sandwiches, ensuring buttered sides face out.
Heat a skillet over medium heat. Place the sandwiches in the pan and cook for 2-4 minutes per side until golden and the cheese is fully melted.
Rest for 1 minute before slicing. Serve alongside the hot tomato soup, finished with fresh basil.