Preheat the oven to 350°F. Line a large baking sheet with parchment paper.
Cut any large tomatoes into quarters. Cut medium tomatoes into halves and leave any cherry or grape tomatoes whole. Spread them out in a single layer on the baking sheet with any cut sides facing up. Cut peeled shallots into quarters and nestle amongst tomatoes. Stick garlic cloves into juicy spots of tomatoes or nestle them between cut tomatoes like the shallots (just to avoid burnt and bitter garlic).
Scatter thyme leaves on top of tomatoes. Drizzle the olive oil over the tomatoes, shallots and garlic. Season everything with salt and pepper and slide the tray into the oven. Roast for about an hour, or until the tomatoes have shrivelled up a bit and the shallots are soft. Let cool slightly.
In batches, blend the roasted tomatoes with the soaked and drained cashews, tomato paste, basil, and vegetable stock until you have a smooth purée. Pour blended soup into a large pot.
Once you've blended everything, including the accumulated juices in the baking sheet, add the balsamic vinegar to the pot. Bring the soup to a boil, check it for seasoning and adjust if necessary. Serve the soup hot with extra basil and olive oil drizzles.
If you don't have cashews or forgot to soak them, feel free to use some full fat coconut milk instead--about a 1/2 cup. This will change the flavour a bit, but you could totally go on a little flavour tangent and roast the tomatoes with some cumin and coriander seeds, maybe some chili too.
Also, I puréed this in a high speed blender, which might account for the serious creamy-ness. I think similar results are possible with an immersion blender or food processor though.
Creamy vegan tomato soup features slow roasted summer tomatoes and is made creamy with cashews. A wholesome and delicious version of a classic.