Heat the vegan butter in a large soup pot.
Add the onion and carrot and saute for about 8-10 minutes. Until the onion looks translucent.
Add the garlic and sauté for one more minute.
Add the flour and stir and cook to make a roux. It will take about 3 minutes to cook the flour taste out of the mixture.
Pour in the broth, water, tomatoes, tomato paste.
Stir to make sure the roux is all mixed into the liquid.
Add the bay leaf and basil.
Cover and cook over medium heat for 30 minutes. Stir a couple of times to make sure it is not sticking.
Remove from the heat and let cool.
Remove the bay leaf.
Now you need to blend the soup. You can either use and immersion blender until it is completely smooth or Use a blender. Blend in batches until the soup is smooth.
Return the tomato soup to the pot by pouring it through a sieve.
Reheat the soup and add the coconut milk, salt and pepper. Do not bring to a boil or cook too high after the coconut milk has been added.
Taste to see if you need more salt or pepper. They can always add a little at the table.