This Creamy Vegan Tomato White Bean Stew is one of those meals that feels like a warm hug in a bowl.
It’s cozy, hearty, and packed with flavor, and you won’t believe how creamy it gets without any dairy.
The combo of fire-roasted tomatoes, soft white beans, and coconut milk makes it rich and comforting, but still light enough to eat any night of the week.
Super simple and totally satisfying.

Why I Love This Recipe
I started making this stew a few winters ago when I wanted something filling but still plant-based. I didn’t expect it to become a weekly go-to, but here we are—it’s one of my most-made recipes. Here’s why:
- It’s one-pot and easy to throw together
- Full of pantry staples like beans and canned tomatoes
- Gets super creamy thanks to coconut milk
- It’s naturally vegan and gluten-free
- Tastes even better the next day
It’s the kind of recipe that makes your kitchen smell amazing and keeps you warm from the inside out. Rainy day? Cold night? This is the move.

Servings and Time
Servings: 4–5
Total Time: 35 minutes
Prep Time: 10 minutes
Cook Time: 25 minutes
Macros (Per Serving – Approximate)
- Calories: 370
- Protein: 13g
- Carbs: 35g
- Fat: 20g
- Fiber: 9g
- Sugar: 6g
Why This Recipe Works (Quick Science)
White beans are soft and starchy, so they help naturally thicken the stew as it simmers. Fire-roasted tomatoes bring depth and smokiness. Coconut milk blends into the broth to add body and richness without dairy. The fat in the coconut milk also carries the flavor of garlic and herbs, making every bite more satisfying.
Common Mistakes
- Skipping the sauté step – You need to build flavor with onion, garlic, and herbs before adding liquids.
- Using full-fat coconut milk from a carton – It won’t make it creamy enough. Use canned.
- Not rinsing the beans – That can make the stew taste tinny or overly salty.
- Boiling too hard after adding coconut milk – Simmer gently to keep it smooth.
What to Serve With
- Toasted sourdough or crusty bread
- A side salad with lemon vinaigrette
- Roasted cauliflower or broccoli
- Rice or quinoa if you want to bulk it up
FAQ
Can I use other beans?
Yep! Cannellini or navy beans work great, even chickpeas in a pinch.
Can I use diced tomatoes instead of fire-roasted?
Yes, but fire-roasted gives a smokier, deeper flavor.
Does it taste like coconut?
Not really! The flavor blends in and mostly adds richness.
How long does it last?
4–5 days in the fridge. It thickens over time, just reheat with a splash of water or broth.
Can I freeze it?
Yes! Freeze in airtight containers for up to 2 months.
What You’ll Need
- 1 tablespoon olive oil
- 1 small yellow onion, diced
- 3 cloves garlic, minced
- 1 teaspoon dried oregano
- 1 teaspoon smoked paprika
- ½ teaspoon red pepper flakes (optional)
- 2 tablespoons tomato paste
- 1 (15-ounce) can fire-roasted diced tomatoes
- 2 (15-ounce) cans white beans, drained and rinsed
- 1 (13.5-ounce) can full-fat coconut milk
- 1½ cups vegetable broth
- 3 cups fresh spinach (roughly chopped)
- 1 teaspoon salt
- ½ teaspoon black pepper
- Juice of ½ lemon (about 1 tablespoon)
- Optional: fresh parsley or basil for garnish

Tools Needed
- Large soup pot
- Wooden spoon
- Cutting board and knife
- Measuring spoons and cups
- Citrus squeezer
- Can opener
Substitutions and Variations
- Use kale instead of spinach
- Sub chickpeas for white beans
- Add cooked rice or quinoa to bulk it up
- Stir in a spoonful of nutritional yeast for extra umami
Make Ahead Tips
- Chop onion, garlic, and spinach in advance
- Drain and rinse beans ahead of time
- Stew tastes even better the next day—make it fully, cool, and store
How to Make Creamy Vegan Tomato White Bean Stew
1. Sauté the onion and garlic
Heat 1 tablespoon olive oil in a large pot over medium heat. Add 1 diced yellow onion and 3 minced garlic cloves. Cook for 3–4 minutes until the onion is soft and translucent.

2. Add tomato paste and spices
Stir in 2 tablespoons tomato paste, 1 teaspoon dried oregano, 1 teaspoon smoked paprika, and ½ teaspoon red pepper flakes. Cook for 1–2 minutes to toast the spices and deepen the flavor.

3. Add tomatoes, beans, coconut milk, and broth
Pour in 1 can fire-roasted diced tomatoes, 2 cans of drained and rinsed white beans, 1 can of full-fat coconut milk, and 1½ cups vegetable broth. Stir everything together and bring to a simmer.

4. Simmer the stew
Let the stew simmer uncovered for about 15–18 minutes, stirring occasionally, until thickened and flavorful.
5. Add spinach, lemon juice, salt, and pepper
Stir in 3 cups of chopped fresh spinach, 1 tablespoon lemon juice, 1 teaspoon salt, and ½ teaspoon black pepper. Cook for 2 more minutes until spinach wilts.

6. Serve and garnish
Ladle stew into bowls and garnish with fresh parsley or basil if you’d like. Serve with crusty bread on the side.

Leftovers and Storage
- Store in the fridge for 4–5 days in a sealed container
- Freezes well for up to 2 months
- Reheat on the stove or in the microwave with a splash of broth if it’s too thick
Wrap-Up
This creamy tomato white bean stew is proof that comfort food doesn’t need to be complicated. It’s warm, rich, easy to make, and full of flavor. If you give it a try, drop a comment and let me know how it went—or what twists you made your own!