Preheat the oven to 350 degrees. Line a rimmed cookie sheet or baking dish with parchment paper.
Core the tomatoes and slice them in half, placing them cut side down on the parchment paper.
Roast the tomatoes until the skins get wrinkly, about 20 minutes. Remove from oven and allow to cool enough so that you can remove the skins. They should lift off easily.
In a soup pot, saute the onions, carrots, and garlic until softened and fragrant, about 7 minutes. Add the tomatoes and their juices and spinach and cook for 5 more minutes until heated through.
Remove pan from heat and puree the vegetables with an immersion blender. Add the spices and stir.
Return the pan to the burner and add the non-dairy milk and dairy free cream cheese. Heat over low heat and stir until cheese is melted and combined.
Add more salt and pepper as desired. Serve immediately.