Go Back
+ servings
Bowl of tomato soup garnished with fresh basil, hemp seeds, and drizzle of balsamic vinegar.
Print Recipe
5 from 1 vote

Creamy Vegan Tomato Soup

Quick and easy, this creamy Vegan Tomato Soup comes together in just 30 minutes and has added healthy plant protein to boot. Perfect for a weeknight meal. 
Prep Time10 mins
Cook Time20 mins
Total Time30 mins
Course: Entrées, Soup
Cuisine: American
Diet: Vegan
Servings: 4
Calories: 166kcal


  • ¼ cup water or broth for sautéing or 2 tablespoons extra virgin olive oil
  • 1 yellow onion diced
  • 2-3 garlic cloves minced
  • 1 can (15 oz) cannellini beans or chickpeas
  • 1 can (28 oz) crushed tomatoes or whole peeled or diced, whatever you have in your pantry
  • 1 teaspoon salt or to taste
  • ¼ teaspoon pepper or to taste
  • 2 teaspoons dried basil
  • 1 cup low-sodium vegetable broth or water
  • 1 cup unsweetened plain non-dairy milk plus more to thin, if needed. I like almond, oat, or light coconut milk best.
  • 1-2 tablespoons balsamic vinegar (optional)


  • Sauté onion in water or broth (or oil) over medium heat until softened, about 5 to 6 minutes. Add garlic and spices and sauté 1 minute.
  • Add beans, tomatoes and vegetable broth (or water) and stir to combine. Increase heat and bring to a boil, then turn down heat to medium-low and simmer for about 10 minutes.
  • Take off the heat, add the non-dairy milk, and purée with an immersion blender until smooth. Alternately, you can transfer the soup to a blender and purée. If needed, add additional almond milk or water to thin to your desired consistency.
  • Add more salt/pepper/basil to taste, if desired. Add the balsamic vinegar, if using, and stir.
  • Serve hot.


~ Sauté the onions until they're nice and soft.
~ Don't add the garlic until the onions are soft, otherwise the garlic may burn.
~ Sauté the dried basil for a minute or two before adding the rest of the ingredients to allow the oils to release and get flavorful.
~ Rinse the beans well before adding to the soup to remove excess sodium and potential gas-causing compounds.
~ Be sure to use an unsweetened, unflavored variety of milk. I like almond, oat or soy best. Light coconut milk will also work, it's creamy without a pronounced coconut flavor. I would advise against full fat coconut milk as the coconut flavor will be too strong. I would also advise against rice milk as it's very thin.
~ Purée the soup until smooth...and then purée another minute to ensure everything gets blended up perfectly. If you don't have an immersion blender, you can carefully transfer the soup to a blender to purée. You may have to do that in batches depending on how big your blender is.
~ Taste and adjust seasonings to your liking.
~ Pair the soup with a salad or sandwich for a heartier meal. Or serve it over noodles for a super kid-friendly option.
~ Leftovers are great the next day. You can even pack it in a thermos to take to work or school. My 9 year old daughter always requests it in her lunchbox!

Store leftovers in an air-tight container in the fridge for 3 to 4 days.
You can also freeze this soup in a freezer safe container or plastic bag for up to 6 months. 


Calories: 166kcal | Carbohydrates: 27g | Protein: 8g | Fat: 2g | Sodium: 887mg | Potassium: 241mg | Fiber: 7g | Sugar: 6g | Vitamin A: 1600IU | Vitamin C: 39.6mg | Calcium: 80mg | Iron: 2.7mg