Preheat the oven to 350 degrees. Wash and core all the tomatoes, and place them bottom side up in two glass baking dishes or rimmed baking sheets. Drizzle a little olive oil in the bottom of the pans.
Roast the tomatoes until the skin starts to wrinkle and separate, about 45 minutes.
Once the tomatoes are cool enough to touch, use your hands to remove the skin.
In a large soup pot, saute the garlic and red onion in the olive oil. Cook for about 10 minutes over medium heat, letting the onion brown slightly.
Add the tomatoes with their juices to the pot and bring to a boil.
Reduce heat to a simmer and cook for about 25 minutes to let the flavors blend.
Add the salt, pepper, onion powder, fresh basil, sugar, and coconut milk.
Stir well, then remove from heat.
Use an immersion blender to puree the soup until very smooth. Season with more salt or pepper if desired.
Serve topped with more fresh basil leaves.
Notes
You can use a different non-dairy milk if you like.This soup should keep in the refrigerator for 4-5 days.You can freeze this soup. Store in freezer bags or freezer safe containers. It should stay fresh in the freezer for up to 3 months.