Preheat oven to 200°C/400°F (180°C fan).
Line baking sheet with aluminum foil or parchment paper and put tomatoes, garlic cloves and onions on the baking sheet. Brush all the vegetables with olive oil, and sprinkle with 1 teaspoon salt and ½ teaspoon black pepper.
Place tray in the oven and bake for around 30 minutes until the tomatoes and onions get a little charred, and the skin on the tomatoes gets wrinkly.
Remove tray from the oven and set it aside for 5 minutes till it is cool. Cut the top green part of the tomatoes. At this point you can remove the skin of the tomatoes if you want – it’s going to be wrinkly so easy to peel off.
Squeeze the garlic out of its skin and keep aside as well.
Heat vegetable oil in a large saucepan with lid or medium sized stockpot.
Add the roasted tomatoes, garlic and onions and cook for 2 minutes. Make sure to add all the tomato and onion juices from the baking sheet.
Add the vegetable stock and the dried basil to the tomato mixture. Turn heat to low, partially cover with lid and simmer for around 15 minutes.
Add remaining salt, black pepper and red chili flakes.
Turn off the heat, and blend with immersion blender until smooth. Alternatively, cool the soup down for around 15 – 20 minutes, and blend in batches in a normal blender.
In case a smoother texture is preferred, the soup can be strained through a sieve which will remove any remaining seeds or seeds. I usually skip this step as I prefer the chunkier texture.
Place the soup back on heat, and add ¼ cup coconut milk and bring to a boil. Let it cook for 2 minutes, and then take off the heat. If required, an additional ¼ cup of coconut milk can also be added.
Serve hot with garlic bread or croutons on the side.