Homemade Tomato Soup with Grilled Cheese Sandwiches

There is a particular kind of evening that calls for tomato soup and a grilled cheese sandwich. It’s raining, or it’s cold enough that the windows fog up when you cook, and you want something that tastes like someone looking after you. I don’t mean that in a grand way. I mean the quiet, ordinary comfort of a bowl you can hold in both hands and a sandwich that drips cheese down your wrist if you aren’t careful.
I made this soup for the first time in a flat with a terrible cooker — one of those electric hobs that was either off or ferocious, nothing in between. The soup caught on the bottom. Twice. I scraped it off, added more stock, pretended it was meant to taste smoky, and served it anyway. My flatmate ate two bowls and asked for the recipe, which taught me something useful: a good tomato soup is forgiving. It wants ripe tomatoes, a bit of patience, and not much else.

Starting with the tomatoes
Canned tomatoes are not a compromise here — they’re often the better choice, especially out of season, because they’re packed at their ripest. I use two large tins of whole peeled tomatoes, and I crush them by hand as they go into the pot. There’s something satisfying about that, and it gives the soup a texture that a blender alone never quite manages: mostly smooth, with a few soft pieces left in.
Fresh tomatoes work beautifully too, if they’re genuinely ripe — the kind that smell like a tomato when you hold them to your nose. If they’re pale and firm, save them for a salad and use tins instead. A soup made from under-ripe tomatoes tastes thin and sharp no matter how long you cook it, and no amount of sugar fixes it properly. I learned that the expensive way, standing over a pot in February wondering why it tasted like disappointment.
The base is simple: a chopped onion cooked slowly in olive oil until soft and sweet, a couple of garlic cloves, and a pinch of chilli flakes if you like a little warmth at the back. I add a spoonful of tomato paste and let it cook for a minute until it darkens — that step deepens the flavour in a way that surprised me the first time I tried it. Then the tomatoes go in, with a mug of vegetable stock, a pinch of sugar, and salt. Not a lot of sugar — just enough to round the edges.
Then you leave it. Twenty-five to thirty minutes of gentle simmering, lid half on, with the occasional stir. The kitchen fills with that smell — tomatoes, garlic, warm bread waiting in the wings — and the soup thickens slightly and turns a deeper red. If I’m feeling fancy, I stir in a splash of cream at the end, or a knob of butter, which gives it a silkier finish. If I’m not, I don’t, and it’s still good. Blend it until smooth, or leave it a little chunky. I go back and forth depending on my mood, which probably tells you everything you need to know about how strict this recipe is. It isn’t.
The sandwich is half the meal
Let me be clear about something: the grilled cheese sandwich is not a side dish here. It’s half the meal, and it deserves the same attention as the soup. A cold, anaemic sandwich next to a good soup is a small tragedy.
Good bread matters most. I use a sturdy white loaf or sourdough — something with enough structure to hold up to butter and melted cheese without collapsing. Thin sandwich bread goes soggy and sad. Butter the outside of the bread, not the pan. That was another lesson from that terrible flat: buttered bread in a dry pan gives you an even, golden crust, while butter in the pan just pools and burns in patches.
For the cheese, I like a mixture: a good melting cheese like mature cheddar for flavour, plus a little mozzarella for the stretch. Sliced cheese melts more evenly than grated in a sandwich like this, though grated works if that’s what you have — just don’t pile it so high the middle stays cold while the outside burns. Medium heat, a lid on the pan for a minute if the cheese is being stubborn, and patience. The sandwich is done when the bread is deep golden and the cheese is properly melted, not just warm. Cut it diagonally. I don’t know why diagonal tastes better, but it does, and I’m not going to argue with it.
Dunking is, of course, the whole point. A grilled cheese sandwich dipped in tomato soup is one of those combinations that makes complete sense the moment you try it — the crisp, buttery bread softening at the edges, the sharpness of the tomato cutting through the richness of the cheese. If you eat it with a knife and fork, I respect your self-control and do not share it.
Making it your own
Once you’ve made the basic version, it’s easy to play with. A handful of fresh basil torn in at the end lifts the whole pot — I grow a small pot of it on the windowsill for exactly this. A roasted red pepper blended in with the tomatoes adds sweetness and body. A swirl of pesto on top looks impressive and tastes even better. Some people add a parmesan rind to the pot while it simmers, which is a lovely trick if you have one knocking about in the fridge; fish it out before blending.
For the sandwiches, try adding a thin slice of tomato inside (though it makes them a little wetter), or a smear of mustard, or a few leaves of spinach that wilt in the heat. My current favourite variation is cheddar with a little grainy mustard spread on the inside of the bread. It sounds odd. It works.
What I like most about this meal is that it scales. One person on a rainy evening, or a table full of people who’ve come in from the cold — the pot just gets bigger, the stack of sandwiches gets taller, and nobody has to do anything complicated. There’s a pot, there’s bread, there’s cheese, and for a little while everyone’s warm and fed, which is really the whole point of cooking in the first place.
You will need, for the soup: 1 onion, 2 garlic cloves, 2 tablespoons olive oil, 1 tablespoon tomato paste, 2 large tins whole peeled tomatoes, about 250 ml vegetable stock, a pinch of sugar, salt, pepper, optional cream or butter, optional fresh basil. For the sandwiches: sturdy bread, butter, mature cheddar and mozzarella.
Method in brief: Soften onion in oil, add garlic and tomato paste, add tomatoes and stock, simmer 25–30 minutes, blend, season. Butter bread on the outside, fill with cheese, fry on medium heat until golden and melted. Serve together, and dunk without apology.
Note: This article shares everyday cooking information only. It is general information, not medical or dietary advice.
