There’s nothing quite like a steaming bowl of Vegan Tomato Soup paired with a crispy, melty grilled cheese. This scratch-made soup delivers deep, slow-roasted flavor with surprisingly minimal effort. Ripe Roma tomatoes are roasted alongside sweet onions and a whole head of garlic, creating a rich aromatic base that’s simmered with fresh basil and blended until velvety smooth. Finished with silky cashew cream, it’s the ultimate comfort food.
For a heartier version of tomato soup, check out my Roasted Tomato and Lentil Soup. (Serve it with a big dollop of Homemade Tofu Ricotta for even more protein.)
And if you’re in the mood for even more delicious plant-based soup recipes, try my creamy Vegan Broccoli Cheddar Soup, Creamy Carrot Ginger Soup, Vegan Pickle Soup, or Marry Me Chickpea Soup.

Vegan Tomato Soup Overview
- 📝 Recipe Name: Creamy Vegan Tomato Soup
- 🕒 Ready In: 1 hour 20 minutes (10 minutes prep, 1 hour 10 minutes cook)
- 🍽️ Serves: 6 servings
- 🌱 Main Ingredients: Roma tomatoes, garlic, onion, fresh basil, vegetable broth, cashew cream
- 📖 Dietary Info: 100% vegan, dairy-free, naturally gluten-free, with nut-free options
- 😍 Why You’ll Love It: Roasting gives this tomato basil soup deep, caramelized flavor with almost no hands-on work. It’s silky and rich with no dairy, and it was made for dunking a grilled cheese.
Featured Review ⭐️⭐️⭐️⭐️⭐️
“Delicious exactly as written. This is the best recipe I’ve tried for tomato soup made with garden fresh tomatoes… The roasted flavor is divine.” — Kristin
Table of Contents
Key Ingredients
- Fresh tomatoes. I use about 3 pounds of Roma tomatoes, but any variety (or combo) will work fine as long as they’re ripe. Roma, vine, cherry, grape, or heirloom tomatoes will give you a great soup.
- Roasted garlic & onion. It’s easy to forget how much flavor you can get out of simple, pure ingredients. The roasted garlic and onion in this recipe are a good reminder of this. These just get roasted up with the tomatoes and add so much depth and goodness to this soup.
- Cashew cream (or a substitute). Cashew cream is my go-to method for adding creaminess to a dish. To make homemade cashew cream, simply soak raw cashews 4+ hours (or boil for 10 minutes) and purée with enough water to create a consistency that mimics that of heavy cream. If you don’t want to use cashew cream, I’ve listed some substitutes in the section below.
- Vegetable broth. Use regular veggie broth from a carton, or try a chicken-style vegetable bouillon to make this soup extra savory. My favorite bouillon is from Edward & Sons.
- Fresh basil. Fresh basil adds a delicious, fresh flavor that balances perfectly with the hearty garlic and onion and the sweet roasted tomatoes. If you don’t have fresh basil on hand, you can substitute in 2 teaspoons dried basil, though it won’t taste quite the same.
- Dried oregano. This is optional, but adds some extra dimension to this soup. You can also feel free to add in any of your other favorite herbs, such as a sprig of thyme or rosemary.
Substitutes for Cashew Cream
- 1 (15 oz can) white beans, drained and thoroughly rinsed. Add these in and blend them along with the rest of the soup. Blended beans will add body to the soup while also contributing extra protein and fiber. However, the soup won’t have as rich of a texture since beans are so low in fat.
- Plant milk + flour. Whisk together 1 cup of plain, unsweetened plant milk with 2 tablespoons of all-purpose flour (or a gluten-free flour blend). Store-bought oat or cashew milk are good options as they tend to taste very neutral. Stir the mixture in and allow the soup to simmer for a few minutes to thicken slightly.
- Canned coconut milk. (Only use this if you don’t mind a coconutty flavor!) Use all or part of a can of full-fat coconut milk, or scoop the solid cream off the top of a chilled can of coconut cream. It adds a wonderful velvety texture to the soup.
- Silken tofu. Another great option to add a silky texture and some extra protein to the recipe. Blend half a block of silken tofu up with the rest of the soup.
- Store-bought cream substitute. Swap the cashew cream 1:1 with 1 cup of store-bought dairy-free heavy cream, such as Country Crock Plant Cream, Ripple or Silk.
- Omit altogether. In a pinch, leave the heavy cream substitute out altogether. The soup will have less of a rich and creamy texture but the flavor will still be incredible.
How to Make Creamy Vegan Tomato Soup
Roast up your tomatoes, garlic, and onion. Quarter any large tomatoes and leave cherry tomatoes whole. Cut onion into thick slices or chunks. Add them to a baking pan, drizzle generously with olive oil, season with salt, pepper, and red pepper flakes, and toss to coat. Leave garlic whole to roast, slicing off about 1/4″ from the top to expose the cloves. Drizzle with oil and nestle it in the pan with the tomatoes and onions.


Roast the veg. Roast at 425°F for 50-60 minutes. The tomatoes will break down, release their juices, and start to caramelize around the edges.


Blend. Transfer the roasted veg to the pitcher of a blender. Be careful when squeezing the softened garlic cloves out of the skins — it’s really hot! Add the fresh basil and carefully blend until completely smooth. This will go into your stockpot along with veggie broth and dried oregano to simmer.
To use an immersion blender, you will simply add the roasted veggies directly into the stockpot along with the vegetable broth, basil, and oregano, and blend till smooth.


Finish. Stir in the cashew cream and simmer gently for 2–3 minutes, then stir in the cold vegan butter until melted. Taste and adjust salt and pepper.
Serving Suggestions
Grilled cheese is a must when serving tomato soup, and my Fluffy Vegan Milk Bread makes a mean grilled cheese. (Follow Your Heart and Violife make some of my favorite sliced vegan cheeses.) My soft and fluffy Vegan Dinner Rolls are also perfect for mopping up every last drop of soup.
I’m also a fan of adding extra texture to soups by adding homemade croutons or a handful of my Crispy Oven-Roasted Chickpeas. A nice sprinkle of homemade Tofu Bacon bits is a great way to boost the protein content while adding extra umami flavor.
For a more complete meal, I love to pair this soup with a hearty side salad such as my Kale Crunch Salad, Roasted Beet & Feta Salad, or my vegan Jennifer Aniston Salad (a plant-based version of the viral quinoa, chickpea, cucumber and feta salad).
Sarah’s Recipe Tips
- Make sure your tomatoes are ripe! The flavor of the tomatoes is front-and-center, so pick the ripest tomatoes you can find. When tomatoes are in season during the summer, ripe Romas are easy to find. During the winter, cherry or grape tomatoes tend to be more reliable.
- Adjust the texture to your preference. You can leave the soup a bit chunky or blend for several minutes to make it smooth. For the very smoothest result, you can even pass the soup through a fine mesh sieve and it will remove the fiber from the tomato skins. (This is actually my preference — it genuinely makes the soup restaurant-caliber, in my opinion.)
- Adjust the roast time as needed. The cook time is meant to be a guide. Go by visual markers! The tomatoes will collapse, release their juices, and begin to caramelize. (If using grape/cherry tomatoes, they will burst and collapse.) If you’re using a big rimmed baking sheet and there is plenty of room for all the ingredients, they will reach that caramelization point faster. If you’re using something like a 9×13″ dish, it’ll be a little more crowded and might take a bit of extra time.
Storing & Reheating
This soup will stay good in the refrigerator in an airtight container for up to 5 days. To reheat, you can either use the microwave or do it on the stovetop.
If microwaving, make sure to heat it incrementally, stirring in between. If reheating on the stove, place in a pot and set over medium heat. Stir often until soup is heated evenly throughout.
This soup also freezes incredibly well if you want to prep it ahead of time! I love to use Souper Cubes (either the 1- or 2-cup molds) so I can freeze them in perfect portions. They can be thawed overnight in the fridge or microwaved in bursts until warmed through.
Vegan Tomato Soup FAQs
Not always. Many store-bought and restaurant tomato soups contain dairy or chicken stock. This recipe is 100% vegan! It gets its creaminess from cashew cream instead of dairy.
Yes, this recipe is mostly hands-off! The oven does the work: just toss the tomatoes, onion and garlic with olive oil and roast them for about an hour. Then blend everything with the broth and basil and stir in the cashew cream.
Yes! Swap the cashew cream for blended white beans, oat milk whisked with flour, silken tofu, or a store-bought dairy-free cream. All the options are in the Substitutions section above.
More Cozy Vegan Soups
- Roasted Garlic Noodle Soup – Classic chick’n noodle vibes with an extra creamy garlicky broth.
- Vegan Broccoli Cheddar Soup – A thick chowder-style soup with tender broccoli and potatoes.
- Kale and White Bean Soup – A hearty and delicious Italian-inspired soup with tender kale and creamy white beans.
- Classic Chickpea Noodle Soup – Savory pan-fried chickpeas served with noodles in a golden broth.
Did You Make This Recipe?
If you’ve made this recipe and loved it, please leave a 5-star rating and review below! Also, if you post a picture on Instagram and tag me @sarahsvegankitchen_, I’d love to see your work.

Creamy Vegan Tomato Soup
Video
Equipment
- stockpot or Dutch oven
- baking pan or rimmed baking sheet
- immersion blender or standard blender
Ingredients
- 2½ to 3 pounds ripe Roma tomatoes or a blend of Romas, vine-ripened, or cherry tomatoes
- 1 to 2 whole heads garlic
- 1 large onion thickly sliced
- 2-3 tablespoons olive oil plus more for the garlic
- 1 teaspoon kosher salt
- fresh cracked black pepper to taste
- 1/2 teaspoon red pepper flakes optional
- 1/2 cup chopped fresh basil plus extra to garnish
- 1/2 teaspoon dried oregano optional
- 2 cups vegetable broth
- 1 cup homemade cashew cream recipe follows; or see notes for substitutions
- 2 tablespoons cold vegan butter optional, for creaminess
Homemade Cashew Cream
- 1/2 cup raw cashews soaked 4 hours or boiled ~10 minutes
- 3/4 cup water
Instructions
- Prepare cashew cream (if using): Ahead of time, add soaked raw cashews and 3/4 cup fresh water to a high-speed blender and blend until completely smooth. Set aside.1/2 cup raw cashews, 3/4 cup water
- Prep: Preheat oven to 425°F / 220°C. Line a baking pan or rimmed baking sheet with parchment for easy cleanup.
- Prep the tomatoes: Cut the tomatoes into quarters (cherry tomatoes can be left whole) and add them to the baking dish/baking tray along with sliced onions. Drizzle with olive oil and season with salt, pepper, and red pepper flakes (if using). Toss to coat.2½ to 3 pounds ripe Roma tomatoes, 1 large onion, 2-3 tablespoons olive oil, 1 teaspoon kosher salt, 1/2 teaspoon red pepper flakes, fresh cracked black pepper
- Prepare garlic: Slice about 1/4" off the top of the head(s) of garlic to expose the cloves. Drizzle a little bit of olive oil over the cut edge, then nestle the heads of garlic in with the tomato and onions.1 to 2 whole heads garlic
- Roast the veggies: Roast for 50-60 minutes, until the tomatoes have shrunk, released their juices, and have golden-brown caramelized edges.
- Purée the vegetables: Remove the head(s) of roasted garlic from pan and set them aside until cool enough to handle. Transfer the roasted tomatoes and onion directly into the pitcher of a blender, along with any juices in the pan. Add in 1/2 cup coarsely chopped fresh basil. Squeeze the soft caramelized cloves directly out of the garlic skins and into the blender, and blend until it's as smooth as you like.Important: Be very careful when blending hot ingredients: Remove the center cap of the blender lid and cover it with a folded kitchen towel to allow steam to escape. Make sure to start on low speed before gradually ramping up.1/2 cup chopped fresh basil
- Build the soup: Pour the puréed tomato mixture into a stockpot or Dutch oven, along with vegetable broth and dried oregano. Heat over medium to bring it to a gentle boil. Reduce heat to low.1/2 teaspoon dried oregano, 2 cups vegetable broth
- Finishing touches: Stir in the cashew cream (or other cream alternative). Simmer gently for 2-3 minutes over low heat to warm through. Stir in cold vegan butter, stirring constantly until it melts completely into the soup. Taste and adjust salt and pepper.1 cup homemade cashew cream, 2 tablespoons cold vegan butter
Notes
- White beans: Drain and rinse a 15 oz can of white beans. Add them to the pot along with the roasted tomatoes and broth in Step 4, then purée directly into the soup for a protein-rich, creamy texture.
- Oat milk: Whisk together 1 cup unsweetened plain oat milk with 2 tablespoons all-purpose flour until completely smooth. Stir into the soup base at the end in place of cashew cream to thicken without nuts.
- Silken tofu: Add 8 oz (about 1/2 block) silken tofu directly into the pot or blender pitcher along with the roasted vegetables and broth before puréeing. No extra water or separate blending required.
- Dairy-Free Heavy Cream: Swap cashew cream 1:1 with 1 cup store-bought nondairy heavy cream alternative (such as Country Crock Plant Cream, Ripple, or Silk).
Nutrition
The nutrition information provided on Sarah’s Vegan Kitchen is an estimate and is offered for general informational purposes only. Values will vary depending on the specific brands and amounts used.

This soup is delicious! Can it be frozen?
Delicious soup! I used Muir Glen canned roasted tomatoes because good tasting tomatoes are hard to get in my area in the winter. Also used the canned white beans instead of cashew cream. Added about a tbsp of Earth Balance to add a little extra richness to make up for the omission of cashew cream, and it was perfect! Will be adding this recipe to the rotation for sure.