Heat a large soup pot on medium/medium high heat, add the onion, shallot, carrots, garlic, and salt and pepper and cook until the vegetable is very tender and starting to caramelize.
Add the strained or crushed tomato and stir ingredients really well. Bring to a boil and add the stock or water and stir well again.
Add a touch more salt and pepper and reduce the soup to a low simmer for 30 minutes. ( if you have the heel end of a parmesan wedge add it here~ you can also use a chunk of parmesan ). It will simmer with the soup and give the most amazing creaminess.
After 30 minutes, remove the pot from the heat and add the coconut cream, cashew cream, or heavy cream and the fresh basil. Taste and adjust your salt and pepper.
Remove the parmesan wedge and puree the soup right in the pot with a hand blender or in batches in your standing vitamin or blender until creamy~ making sure to let air escape through the feeding tube at the top of the blender too avoid explosions.
Warm up the soup back in the soup pot (add the warm wedge back in) and serve very warm topped with fresh basil, or drizzle of pesto, or fresh grated parmesan. Go make a grilled cheese!