If you ask me, a good stew is pure comfort in a bowl.
This hearty vegan stew brings together creamy white beans and rich tomatoes in a way that feels like a warm hug. The beans get tender and soft while soaking up all those savory flavors.
It’s simmered with simple ingredients like onions, garlic, and herbs that fill your kitchen with the best smells. A splash of coconut milk makes everything smooth and satisfying without any dairy.
It’s the kind of meal that works for busy weeknights, and even the pickiest eaters at your table will ask for seconds.

Why You’ll Love This Vegan Tomato White Bean Stew
- Quick weeknight dinner – Ready in just 25-35 minutes, this stew is perfect when you need a satisfying meal without spending hours in the kitchen.
- Plant-based and nutritious – Packed with protein-rich white beans and fresh greens, this vegan stew gives you all the comfort without any animal products.
- Simple pantry ingredients – Most of these ingredients are probably already in your pantry or fridge, making it an easy go-to recipe when you’re not sure what to cook.
- Creamy without dairy – The vegan cream cheese creates that rich, satisfying texture you crave in a comfort stew, proving you don’t need dairy to make something indulgent.
- Fresh and flavorful – The combination of sun-dried tomatoes, fresh basil, and lemon juice brings bright, restaurant-quality flavors to your home kitchen.
What Kind of White Beans Should I Use?
Cannellini beans are the classic choice for this stew since they have a creamy texture and mild flavor that pairs perfectly with tomatoes. But don’t worry if you can’t find them – great northern beans or navy beans work just as well and have a similar creamy consistency. You can use either canned or dried beans, though canned beans will save you time since they’re already cooked and ready to go. If you’re using dried beans, just make sure to soak and cook them ahead of time until they’re tender. The key is choosing beans that will hold their shape while still getting nice and creamy in the stew.

Options for Substitutions
This cozy stew is pretty forgiving when it comes to swaps – here are some easy substitutions you can make:
- Cannellini beans: Any white beans work great here – try navy beans, great northern beans, or even chickpeas if that’s what you have on hand. The cooking time stays the same.
- Vegan cream cheese: No vegan cream cheese? Coconut cream from a can works perfectly, or blend ½ cup soaked cashews with ¼ cup water until smooth. Regular cream cheese works too if you’re not keeping it vegan.
- Baby greens: Swap baby arugula or spinach with kale (remove the stems and chop it up), chard, or even regular spinach. Heartier greens like kale might need an extra minute or two to wilt.
- Sun-dried tomatoes: If you don’t have sun-dried tomatoes, just add an extra tablespoon of tomato paste and maybe a pinch of dried oregano for that concentrated flavor.
- Arrowroot starch: Cornstarch or all-purpose flour work just as well for thickening. Use the same amount and mix with a little cold broth before stirring in.
- Fresh basil: Dried basil works in a pinch – use about 1 tablespoon instead of ¼ cup fresh. You could also try fresh parsley or oregano for a different herb flavor.
Watch Out for These Mistakes While Cooking
The biggest mistake when making this stew is adding the greens too early, which will turn your beautiful baby arugula or spinach into mushy, overcooked leaves – wait until the very last few minutes of cooking to stir them in so they just wilt perfectly.
Another common error is forgetting to make a slurry with your starch by mixing it with a little cold broth or water first, because adding dry arrowroot or cornstarch directly to the hot stew will create lumps that are nearly impossible to smooth out.
Don’t skip draining and rinsing your canned beans, as the thick liquid they come in can make your stew too salty and give it an unpleasant metallic taste.
For the creamiest results, let the vegan cream cheese come to room temperature before stirring it in, and add the lemon juice at the very end to keep its bright, fresh flavor from cooking off.

What to Serve With Tomato White Bean Stew?
This hearty stew is perfect with some crusty bread for sopping up all that creamy, tomatoey goodness – I love using a thick slice of sourdough or ciabatta. You can also serve it over cooked quinoa, brown rice, or even pasta if you want to make it more filling. A simple side salad with mixed greens and a light vinaigrette pairs nicely without competing with the rich flavors of the stew. For extra comfort, try it with some warm pita bread or focaccia on the side.
Storage Instructions
Refrigerate: This creamy stew keeps really well in the fridge for up to 4 days in an airtight container. The flavors actually get better after a day or two, so it’s perfect for meal prep. Just give it a good stir before serving since the cream might separate a little.
Freeze: You can freeze this stew for up to 3 months, but I’d recommend leaving out the vegan cream cheese and adding it fresh when you reheat. The beans and tomatoes freeze great, but dairy alternatives can get a bit grainy after freezing.
Warm Up: Reheat gently on the stovetop over medium-low heat, stirring occasionally until heated through. If it seems too thick, just add a splash of vegetable broth. You can also microwave it in 30-second intervals, stirring between each one to heat evenly.
| Preparation Time | 10-15 minutes |
| Cooking Time | 15-20 minutes |
| Total Time | 25-35 minutes |
| Level of Difficulty | Easy |
Estimated Nutrition
Estimated nutrition for the whole recipe (without optional ingredients):
- Calories: 530-590
- Protein: 17-22 g
- Fat: 11-16 g
- Carbohydrates: 85-94 g
Ingredients
For the stew:
- 1 small yellow onion, thinly sliced
- 8 oz cherry tomatoes, cut in half
- 4 garlic cloves, finely minced
- 1/4 cup chopped sun-dried tomatoes
- 1 tbsp tomato paste
- 1 can (15 oz) cannellini or other white beans, drained and rinsed
- 1 1/4 cups vegetable broth
- 1 tbsp arrowroot starch, tapioca starch, or cornstarch
- 2 cups baby arugula or spinach greens
To finish:
- 1/4 cup vegan cream cheese, coconut cream, or cashew cream
- Salt and black pepper, as desired
- 1 small lemon, juiced
- 1/4 cup fresh basil, thinly sliced, for garnish
Step 1: Sauté the Onion and Cherry Tomatoes
- 1 tablespoon olive oil
- 1 small yellow onion, thinly sliced
- 8 oz cherry tomatoes, cut in half
Heat 1 tablespoon of olive oil in a medium saucepan over medium heat.
Add the thinly sliced onion and sauté for about 3 minutes until slightly softened.
Then, add the halved cherry tomatoes and continue to cook, stirring frequently, for another 5 minutes until the tomatoes are softened and starting to break down.
Step 2: Add Aromatics and Tomato Paste
- 4 garlic cloves, finely minced
- 1/4 cup chopped sun-dried tomatoes
- 1 tbsp tomato paste
Add the minced garlic, chopped sun-dried tomatoes, and tomato paste to the saucepan.
Stir continuously and cook for about 1 minute, until the mixture is fragrant and the tomato paste has darkened slightly in color.
Step 3: Prepare and Add Broth, Beans, and Simmer
- 1 tbsp arrowroot starch, tapioca starch, or cornstarch
- 1 1/4 cups vegetable broth
- 1 can (15 oz) cannellini or other white beans, drained and rinsed
In a small bowl, whisk together the arrowroot starch with a splash of the vegetable broth to make a smooth slurry.
Pour the slurry into the remaining vegetable broth and whisk to combine.
Add this broth mixture and the drained and rinsed white beans to the saucepan.
Bring to a gentle simmer and cook for 5 minutes, allowing the mixture to thicken slightly and the beans to warm through.
Step 4: Add Cream Cheese, Greens, and Lemon Juice
- 1/4 cup vegan cream cheese, coconut cream, or cashew cream
- 2 cups baby arugula or spinach greens
- 1 small lemon, juiced
- salt and black pepper, as desired
Stir in the vegan cream cheese until fully melted into the stew and the mixture is creamy.
Next, mix in the baby arugula or spinach and cook for about 1 minute, just until wilted.
Add the lemon juice and season with salt and black pepper to taste.
I like to wait until the end to add the lemon for the brightest flavor.
Step 5: Garnish and Serve
- 1/4 cup fresh basil, thinly sliced, for garnish
Top the finished stew with thinly sliced fresh basil just before serving.
Enjoy this creamy tomato and bean stew on its own or served over grains, greens, or crusty toast.

Comforting Creamy Vegan Tomato White Bean Stew
Ingredients
For the stew:
- 1 small yellow onion, thinly sliced
- 8 oz cherry tomatoes, cut in half
- 4 garlic cloves, finely minced
- 1/4 cup chopped sun-dried tomatoes
- 1 tbsp tomato paste
- 1 can (15 oz) cannellini or other white beans, drained and rinsed
- 1 1/4 cups vegetable broth
- 1 tbsp arrowroot starch, tapioca starch, or cornstarch
- 2 cups baby arugula or spinach greens
To finish:
- 1/4 cup vegan cream cheese, coconut cream, or cashew cream
- salt and black pepper, as desired
- 1 small lemon, juiced
- 1/4 cup fresh basil, thinly sliced, for garnish
Instructions
- Heat 1 tablespoon of olive oil in a medium saucepan over medium heat. Add the thinly sliced onion and sauté for about 3 minutes until slightly softened. Then, add the halved cherry tomatoes and continue to cook, stirring frequently, for another 5 minutes until the tomatoes are softened and starting to break down.
- Add the minced garlic, chopped sun-dried tomatoes, and tomato paste to the saucepan. Stir continuously and cook for about 1 minute, until the mixture is fragrant and the tomato paste has darkened slightly in color.
- In a small bowl, whisk together the arrowroot starch with a splash of the vegetable broth to make a smooth slurry. Pour the slurry into the remaining vegetable broth and whisk to combine. Add this broth mixture and the drained and rinsed white beans to the saucepan. Bring to a gentle simmer and cook for 5 minutes, allowing the mixture to thicken slightly and the beans to warm through.
- Stir in the vegan cream cheese until fully melted into the stew and the mixture is creamy. Next, mix in the baby arugula or spinach and cook for about 1 minute, just until wilted. Add the lemon juice and season with salt and black pepper to taste. I like to wait until the end to add the lemon for the brightest flavor.
- Top the finished stew with thinly sliced fresh basil just before serving. Enjoy this creamy tomato and bean stew on its own or served over grains, greens, or crusty toast.