This is one of those cozy, throw-it-all-in-a-pot meals that just hits the spot every time.
Creamy, hearty, and packed with flavor, this stew is my go-to when I want something comforting but still plant-based and nourishing
It’s the kind of dish that tastes like it simmered for hours, but really it’s done in under 40 minutes.

Why I Love This Recipe
This stew brings back memories of chilly nights when I’d stand over the stove, stirring something warm while the kitchen fogged up with steam and good smells. It became my comfort dish in early fall, especially when I started leaning more into plant-based eating.
- It’s creamy without needing any dairy
- Packed with plant protein and fiber from the beans
- Uses pantry staples — perfect when the fridge is almost empty
- Freezes beautifully
- Gets better the next day

Servings and Time
Servings: 4
Total Time: 35 minutes
What You’ll Need
- 1 tbsp olive oil
- 1 small yellow onion, diced
- 3 garlic cloves, minced
- 1 tsp dried oregano
- 1/2 tsp crushed red pepper flakes (optional)
- 1/2 tsp salt
- 1/4 tsp black pepper
- 1 (15 oz) can crushed tomatoes
- 1 (15 oz) can full-fat coconut milk
- 2 (15 oz) cans white beans (like cannellini or great northern), drained and rinsed
- 2 cups low-sodium vegetable broth
- 2 cups baby spinach
- 1 tbsp lemon juice
- Fresh basil, for garnish (optional)
Ingredients

Pro Tips
- Use full-fat coconut milk for the creamiest texture
- Blend half the stew if you like it even thicker
- Add more crushed red pepper if you want a kick
- Don’t skip the lemon juice — it brightens everything
- Stir in spinach right at the end to keep it vibrant
Tools Needed
- Large Dutch oven or soup pot
- Chef’s knife
- Cutting board
- Wooden spoon
- Can opener
- Measuring spoons
- Measuring cups
- Citrus juicer or spoon for squeezing lemon
Substitutions and Variations
- Swap spinach for kale or Swiss chard
- Use navy beans or chickpeas if that’s what you have
- Add cooked pasta or rice to make it extra filling
- Coconut cream can be used for an even richer texture
- Stir in nutritional yeast for a cheesy flavor boost
Make Ahead Tips
- Dice the onion and mince garlic up to 2 days ahead
- Measure out all dry spices and store in a small container
- The whole stew can be made 2 days ahead and stored in the fridge — flavors get better with time
Instructions
Step 1: Sauté the aromatics
Add 1 tbsp olive oil to a Dutch oven over medium heat. Add 1 small diced yellow onion and sauté for 4–5 minutes until translucent. Stir in 3 minced garlic cloves, 1 tsp dried oregano, 1/2 tsp red pepper flakes (optional), 1/2 tsp salt, and 1/4 tsp black pepper. Cook for 1 more minute.

Step 2: Add tomatoes and coconut milk
Pour in 1 (15 oz) can of crushed tomatoes and 1 (15 oz) can of full-fat coconut milk. Stir well to combine with the aromatics. Bring to a gentle simmer.

Step 3: Add beans and broth
Add 2 (15 oz) cans of drained and rinsed white beans and 2 cups of vegetable broth. Stir to combine. Let the stew simmer gently for 15 minutes, uncovered.

Step 4: Stir in spinach and lemon juice
Turn off the heat. Add 2 cups of baby spinach and 1 tbsp of fresh lemon juice. Stir until the spinach wilts down. Taste and adjust seasoning if needed.

Step 5: Serve
Ladle the stew into bowls. Garnish with fresh basil and extra black pepper if you like. Serve hot.

Leftovers and Storage
- Store leftovers in an airtight container in the fridge for up to 4 days
- Freezes well for up to 3 months — thaw overnight in fridge, reheat gently
- Reheat on the stovetop or microwave with a splash of broth if it’s too thick
Macros Information (Per Serving – approx.)
- Calories: 380
- Protein: 13g
- Fat: 18g
- Carbohydrates: 38g
- Fiber: 10g
- Sugar: 4g
Why This Recipe Works (Quick Science)
White beans are full of starch, which thickens the stew as it simmers. Coconut milk adds creaminess and balances out the acidity of the tomatoes. Lemon juice added at the end brightens the flavor and makes everything pop. The result is a silky, flavorful stew that feels rich without any dairy or flour.
Common Mistakes
- Using low-fat coconut milk — it’ll make the stew watery
- Skipping the lemon juice — you’ll miss out on a flavor boost
- Adding spinach too early — it’ll overcook and lose color
- Not rinsing the beans — canned bean liquid can taste metallic
What to Serve With
- Crusty sourdough or garlic bread
- Simple side salad with balsamic vinaigrette
- Roasted vegetables
- Steamed rice or quinoa for a heartier meal
FAQ
Can I use dried beans instead of canned?
Yes, just cook them first — you’ll need about 3 cups cooked.
Is there a coconut-free version?
You can use cashew cream or unsweetened oat milk, but it won’t be as rich.
Can I blend this soup?
Absolutely! Blend half for a creamier texture, or all of it if you want it smooth.
Is it spicy?
Only a little from the red pepper flakes, and you can leave those out.
Can I double the recipe?
Yes, just make sure your pot is big enough!