Creamy tomato soup (and its forever sidekick, grilled cheese) will always be a comfort-food classic — and this dairy-free version brings a little extra joy to the bowl. Think cozy goodness with a serious nutrition glow-up!

A bowl of Creamy Tomato Soup topped with a swirl of cream, black pepper, and fresh basil leaves, served with slices of bread. Tomatoes and a loaf of bread are nearby on the table.

That gorgeous color means nutrition business 

That vibrant orange-red color? It’s not just pretty—it’s a clue. This soup stars antioxidant-rich tomatoes and beta-carotene-packed carrots, then gets its luscious, velvety texture from a surprise ingredient most people never guess: either white beans or tofu (your call!) 

A stainless steel pan contains chopped carrots and onions being sautéed, with some pieces lightly browned—an essential base for a delicious Creamy Tomato Soup. The pan rests on a light-colored countertop.
A stainless steel pot containing sautéed chopped onions and tomatoes, partially cooked for creamy tomato soup, sits on a light beige countertop.
A stainless steel pot filled with creamy tomato soup, visible onion and seasoning pieces floating on the surface, placed on a light-colored countertop.
A large pot filled with creamy tomato soup packed with white beans, diced tomatoes, and herbs sits on a light-colored countertop.
A pot of Creamy Tomato Soup garnished with basil leaves and a swirl of cream, with a wooden spoon resting in it. Slices of bread, fresh tomatoes, and a dish towel are arranged nearby for a cozy meal.

I blend a can of drained, rinsed white beans (cannellini, navy, or great Northern) or tofu right in instead of milk or cream, which keeps the soup dairy-free and adds staying power without changing the classic tomato-soup vibe. And if tofu isn’t your thing, no worries it’s not for everyone— just stick with the beans! The beans work beautifully, delivering the same creamy finish plus a fiber boost.

And if you want to take the flavor up a notch, a little oregano, Italian seasoning, or smoky paprika adds that subtle, “restaurant-y” vibe—without changing the simplicity of the recipe.

Two bowls of Creamy Tomato Soup with swirls of cream and cracked pepper, served alongside slices of brown bread. A pot of soup and a small bowl of ground pepper sit atop a light-colored table.
A bowl of Creamy Tomato Soup garnished with a swirl of cream, black pepper, and fresh basil leaves, served with slices of bread. A whole tomato and a striped napkin are nearby.

My favorite creamy soup hack

Swapping beans or tofu for dairy is one of my favorite “nutritionist-in-the-kitchen” tricks — a move I’ve leaned on for years to make soups more nourishing without sacrificing comfort. I use the same approach in my Non-Dairy Cream of Mushroom Soup (a total fan favorite!), and it’s also why my Creamy Broccoli Soup disappears fast at the Bauer house — even when I skip the Greek yogurt altogether for a dairy-free version.

Serve this tomato soup for a cozy lunch alongside a hearty salad, or slurp it up as a starter to a more elaborate meal. Of course, you can also make it dinner-worthy with a grilled cheese!  

A bowl of Creamy Tomato Soup garnished with a swirl of cream, cracked black pepper, and two fresh basil leaves, with a spoon in the bowl and slices of bread on the side.

For more creamy soup recipes, try my Potato Leek Soup and Butternut Squash Soup!

A bowl of Creamy Tomato Soup garnished with a swirl of cream, black pepper, and fresh basil leaves, served with slices of bread. A whole tomato and a striped napkin are nearby.
No ratings yet

The Best Dairy-Free Creamy Tomato Soup

This velvety, dairy-free tomato soup gets its luxurious creaminess from a surprising ingredient: beans (or tofu)! Packed with antioxidants and protein, it's comfort food with a serious nutrition glow-up.
Yield: 8 cups
Prep Time: 10 minutes
Cook Time: 35 minutes
Total Time: 45 minutes

Ingredients
 

  • 1 tablespoon olive oil
  • 1 medium onion, diced
  • 2 medium carrots, peeled and chopped
  • 2 cloves garlic, minced (or ½ teaspoon garlic powder)
  • 3 tablespoons tomato paste
  • 1 (28-ounce) can diced fire-roasted tomatoes
  • Water, use the empty tomato can
  • 1 (15-ounce) can white beans (Great Northern, navy, or cannellini), drained and rinsed OR 8 ounces tofu (See Notes—silken, firm, or extra-firm)
  • Salt, to taste
  • Ground black pepper, to taste
  • 1–2 teaspoons balsamic vinegar or fresh lemon juice, optional
  • 1-2 tbsp dairy or dairy-free yogurt or sour cream, optional for swirling at end

Instructions
 

  • Sauté the veggies: Heat the olive oil in a large pot or Dutch oven over medium heat. Add the onion and carrots and sauté until tender, about 6–8 minutes, stirring occasionally. Add the garlic toward the very end and cook for 30–60 seconds, just until fragrant. (If the pot is very hot or the garlic starts to brown quickly, reduce to medium-low.)
  • Add the tomato paste: Stir in the tomato paste and cook, stirring constantly, for 1 minute.
  • Simmer: Add the canned tomatoes. Fill the empty 28oz tomato can with water and pour it into the pot. Bring to a boil, then cover, reduce heat to low (small bubbles, not a rolling boil), and simmer for 15 minutes.
  • Add beans or tofu: Stir in the tofu (or white beans) and simmer 5-10 minutes more, uncovered, to warm through and let flavors meld.
  • Blend + season: Purée until completely smooth using an immersion blender, or carefully blend in batches in a countertop blender. Season with salt and black pepper to taste.
  • Optional finishing step (makes it pop!): Stir in 1–2 teaspoons balsamic vinegar or fresh lemon juice to brighten the flavor. Start with 1 teaspoon, taste, and add more if you’d like. You can also swirl in a tbsp yogurt or sour cream (dairy or dairy-free) at the end for extra creaminess tang.

Notes

• Optional flavor boost: If you’d like an extra flavor, add 1 teaspoon dried oregano OR 1 teaspoon Italian seasoning OR ½ teaspoon smoked paprika. Stir it in when you add the tomato paste (Step 2) so it blooms and becomes extra fragrant.
• Beans vs. tofu (which is best?):
  • White beans = super creamy, subtly sweet, very “classic tomato soup.”
  • Silken tofu = the smoothest/most velvety (most cream-like).
  • Firm/extra-firm tofu = thicker texture; still delicious, just a bit less silky.
• Want it thicker? Simmer uncovered a few extra minutes before blending, or use a little less water to start (you can always add more later).
• Want it thinner? Stir in a splash more water or broth after blending until it’s perfect.
• Storage: Refrigerate in an airtight container for up to 4–5 days.
• Freezing: Freeze in preferred portions for up to 3 months. Thaw overnight in the fridge, then rewarm gently.
• Reheating tip: Warm over low to medium-low heat, stirring often. If it thickens in the fridge, add a splash of water/broth to loosen.
• Gluten-free: This recipe is naturally gluten-free—just skip croutons or use gluten-free croutons if adding.
• Vegan: This recipe is already vegan—consider plant-forward toppers like fresh basil, olive oil drizzle, pepitas, or dairy-free croutons.

Nutrition Information per serving

Serving Size: 1 cupCalories: 70Carbohydrates: 8gProtein: 3gTotal Fat: 2.5g— Unsaturated Fat: 0g— Saturated Fat: 2.5gCholesterol: 0mgSodium: 35mgPotassium: 350mgFiber: 2gTotal Sugar: 4g— Natural Sugar: 4g— Added Sugar: 0gVitamin A: 2548IUCalcium: 60mgIron: 1.1mg
Nutrition information is calculated using a leading industry software. That being said, brands can vary, and there may be slight fluctuations in the numbers.
I’m hoping you loved this recipe! If you made it and want to share feedback, I’d be so grateful to hear from you. Please leave a review below or tag @joybauer on Instagram!