There’s something soul-warming about a bowl of thick, creamy stew — especially when it’s vegan, packed with plant-based protein, and bursting with flavor. This Creamy Vegan Tomato White Bean Stew is a modern comfort dish rooted in Mediterranean simplicity, where humble ingredients like white beans, tomatoes, garlic, and herbs shine with deep, satisfying flavor.
This stew is rich, velvety, and full-bodied thanks to the slow-cooked tomatoes and the creaminess of blended beans and coconut milk. It’s a perfect recipe for weeknights, meal prep, or anytime you need a cozy, one-pot meal that checks all the boxes — nourishing, comforting, and full of flavor.
Ingredients Overview

Let’s take a closer look at the ingredients that make this stew so hearty and irresistible, along with thoughtful variations.
White Beans
Creamy cannellini or Great Northern beans are the backbone of this stew. They have a mild, buttery taste and a soft texture that thickens the broth naturally. You can use canned for convenience or soak and cook dried beans for deeper flavor.
Substitutes: Navy beans, butter beans, or even chickpeas (though they’ll add a nuttier bite).
Crushed Tomatoes
Crushed tomatoes create a rich base with a bright tang. They meld beautifully with herbs and soften into a velvety sauce as they simmer.
Tip: Use fire-roasted crushed tomatoes for an extra layer of smoky depth.
Onion & Garlic
Aromatic staples that form the flavor foundation. Sautéing until translucent and golden brings out their natural sweetness.
Carrots & Celery
These classic mirepoix vegetables round out the savory base. Carrots add a hint of sweetness; celery provides subtle bitterness and depth.
Coconut Milk
This is what gives the stew its luxurious texture without dairy. Use full-fat coconut milk for a truly creamy consistency.
Alternative: Unsweetened cashew cream or oat cream for a nut-free, coconut-free option.
Vegetable Broth
A good-quality broth enhances the umami and helps blend all the flavors. If you’re using a low-sodium version, be sure to adjust the salt accordingly.
Herbs & Spices
-
Thyme and rosemary: Earthy, woodsy notes that balance the brightness of tomato.
-
Smoked paprika: Adds warmth and depth with a hint of smokiness.
-
Bay leaf: Lends a subtle complexity during simmering.
-
Red pepper flakes (optional): For a gentle kick.
Baby Spinach or Kale
These greens add freshness and a nutritional boost. They wilt quickly into the stew and complement the creaminess beautifully.
Optional additions: Swiss chard, collards, or frozen spinach.
Olive Oil
Used to sauté the base vegetables — choose extra virgin for better flavor and aroma.
Step-by-Step Instructions
1. Build the Flavor Base
Start by heating olive oil in a large Dutch oven or soup pot over medium heat. Add chopped onion, celery, and carrots. Sauté for about 7–10 minutes until the vegetables soften and the onion turns translucent.
Add minced garlic and stir constantly for 1 minute until fragrant. Be careful not to let the garlic brown — it can turn bitter quickly.
2. Add Tomatoes and Spices
Pour in crushed tomatoes and stir to deglaze the pan. Add smoked paprika, thyme, rosemary, bay leaf, salt, and pepper. Cook this mixture for about 5 minutes to allow the flavors to marry and deepen.
3. Introduce the White Beans
Add in the drained and rinsed white beans, then pour in the vegetable broth and stir. Let everything come to a gentle boil.
Once boiling, reduce heat to low and let it simmer uncovered for about 20–25 minutes, stirring occasionally. This allows the beans to soak up the flavor and the broth to thicken slightly.
4. Blend for Creaminess
For a silky texture, use an immersion blender to blend part of the stew directly in the pot — about ⅓ to ½, depending on how thick you like it. Alternatively, transfer 2 cups of the stew to a blender, purée until smooth, and stir it back in.
This step transforms the broth into a creamy, velvety base without needing flour or cornstarch.
5. Stir in Coconut Milk and Greens
Add the coconut milk and stir until well incorporated. Then toss in the fresh spinach or kale. Simmer for another 5–8 minutes until the greens wilt and the stew thickens further.
Taste and adjust seasoning with more salt, pepper, or chili flakes if desired.
6. Rest and Serve
Turn off the heat and let the stew rest for 5 minutes. The flavors deepen as it cools slightly. Serve warm, optionally topped with chopped parsley, a drizzle of olive oil, or crusty bread on the side.
Tips, Variations & Substitutions
-
To thicken without blending: Mash a portion of the beans with a spoon before simmering, or let the stew simmer uncovered a bit longer to reduce naturally.
-
Add grains: Stir in cooked farro, quinoa, or rice at the end for a heartier meal.
-
Make it spicy: Add a dash of cayenne or extra red pepper flakes for a warming heat.
-
Cream substitute: Swap coconut milk with unsweetened almond cream, oat cream, or blended cashews for a similar texture.
-
Meal prep tip: This stew keeps beautifully in the fridge for 4–5 days and freezes well for up to 3 months.
Serving Ideas & Occasions
This stew is incredibly versatile and makes a perfect cozy dinner any night of the week.
-
Serve with: Crusty sourdough, garlic toast, or brown rice.
-
Occasions: Ideal for chilly evenings, lazy Sunday suppers, or vegan holiday dinners.
-
Pair with: A crisp green salad with lemon vinaigrette or roasted Brussels sprouts.
-
Make it fancy: Garnish with fresh basil, a swirl of cashew cream, or toasted pine nuts for presentation.
Its hearty texture and rich flavor make it a crowd-pleaser — even among non-vegans.
Nutritional & Health Notes
This Creamy Vegan Tomato White Bean Stew is a nourishing powerhouse. Each serving is:
-
High in fiber and plant-based protein from white beans and greens.
-
Naturally gluten-free and made without refined sugar or thickeners.
-
Rich in lycopene from cooked tomatoes, known for its antioxidant benefits.
-
Balanced with healthy fats from olive oil and coconut milk, which aid in vitamin absorption.
If you’re watching calories or fats, consider using light coconut milk or half the amount and adding extra broth for balance. It’s also ideal for clean eating plans and supports digestion thanks to its high fiber content.
FAQs
Q1: Can I make this stew in a slow cooker?
A1: Absolutely. Sauté the aromatics (onion, garlic, carrots, celery) on the stovetop first for best flavor, then transfer everything to the slow cooker. Cook on low for 6–7 hours or high for 3–4 hours. Add greens and coconut milk during the last 30 minutes.
Q2: Is this stew freezer-friendly?
A2: Yes. Let it cool completely, then store in freezer-safe containers for up to 3 months. When reheating, add a splash of broth or water as it thickens while frozen. Avoid freezing if you’ve added tender greens like spinach — stir those in fresh when reheating.
Q3: What can I use instead of coconut milk?
A3: Blended soaked cashews (¼ cup + ½ cup water), oat cream, or almond cream are great alternatives. For a lighter version, use unsweetened soy milk with a bit of olive oil to mimic the richness.
Q4: Can I use dried beans?
A4: Yes, but they must be fully cooked before adding. Soak 1 cup of dried white beans overnight, then boil until tender. You’ll get better flavor and texture, though it adds time to prep.
Q5: How can I make this stew oil-free?
A5: Sauté the vegetables in a splash of broth or water instead of oil. Use a nonstick pot and stir frequently to prevent sticking.
Q6: What herbs go well in this stew?
A6: Fresh thyme, rosemary, basil, oregano, or parsley all work well. Bay leaves add depth while simmering. Avoid overpowering herbs like tarragon or dill.
Q7: Is this stew high in protein?
A7: Each serving contains roughly 12–15g of plant-based protein from beans and greens, making it a satisfying, protein-rich option — especially when paired with grains like quinoa or farro.
PrintA creamy, plant-based stew made with white beans, tomatoes, and coconut milk. Perfectly cozy and packed with protein, this vegan dinner is ideal for weeknights or meal prep.
- Prep Time: 10 minutes
- Cook Time: 20 minutes
- Total Time: 30minutes
- Yield: 4–6 servings 1x
Ingredients
-
2 tablespoons olive oil
-
1 medium yellow onion, diced
-
2 carrots, peeled and chopped
-
2 celery stalks, chopped
-
3 garlic cloves, minced
-
1 (28 oz) can crushed tomatoes
-
1 teaspoon dried thyme
-
½ teaspoon rosemary
-
1 teaspoon smoked paprika
-
1 bay leaf
-
Salt and black pepper to taste
-
2 (15 oz) cans white beans, drained and rinsed
-
2½ cups vegetable broth
-
1 cup full-fat coconut milk
-
3 cups fresh spinach or kale
-
Red pepper flakes (optional)
Instructions
-
Heat olive oil in a large pot over medium heat. Sauté onion, carrots, and celery for 7–10 minutes.
-
Add garlic and cook for 1 minute until fragrant.
-
Stir in crushed tomatoes, herbs, smoked paprika, bay leaf, salt, and pepper. Simmer 5 minutes.
-
Add beans and broth. Bring to a boil, reduce heat, and simmer uncovered for 20–25 minutes.
-
Blend ⅓ to ½ of the stew for a creamier texture. Return to pot.
-
Stir in coconut milk and greens. Cook for 5–8 more minutes.
-
Adjust seasoning and serve warm.