Soups & Stews
This bean chowder soup recipe delivers velvety richness that transforms simple ingredients into a hearty, comforting bowl. The secret lies in a slow simmer that develops deep flavors while blending beans into a creamy base—no heavy cream required.
I’ve perfected this vegetarian version with smoked paprika and coconut milk for a modern twist on a classic.
What sets this chowder apart is the balance of textures: tender potatoes, smoky bacon (or vegan alternative), and beans that blend seamlessly into a thick, velvety broth. The roux technique ensures a smooth consistency without breaking, while a final touch of fresh herbs brightens every spoonful.
It’s the kind of soup that warms you from the inside out.
Ready in about 45 minutes, this recipe requires minimal prep but maximum flavor. The slow simmer allows all ingredients to meld, creating a soup so rich and satisfying it feels like a hug in a bowl.
Whether served with crusty bread or a dollop of sour cream, it’s a crowd-pleaser that works for weeknight dinners or holiday gatherings.
The best part? Leftovers taste even better the next day as the flavors deepen. Here’s how to make it—step by step—for a chowder that rivals your favorite restaurant version.
Ingredients for bean chowder soup
Simple pantry staples transform into a velvety chowder with rich, smoky depth and creamy texture.
| Ingredient | Amount | Notes |
|---|---|---|
| Canned Cannellini Beans 🥫 | 1 ½ cups | Drained and rinsed (2 cans) |
| Coconut Milk 🥥 | 1 can | Full-fat for creaminess |
| Carrots 🥕 | 1 lb | Peeled, sliced into rounds |
| Russet Potatoes 🥔 | 2 lb | Peeled, cubed evenly |
| Smoked Paprika 🌶️ | 1 tbsp | For deep smoky flavor |
| Vegetable Broth 💧 | 4 cups | Low-sodium preferred |
| Yellow Onion 🧅 | 1 whole | Diced finely |
| Celery Stalks 🧅 | 3 whole | Diced small |
| Garlic Cloves 🧄 | 4 cloves | Minced finely |
| All-Purpose Flour 🌾 | ¼ cup | For creamy roux |
| Unsalted Butter 🧈 | ½ cup | Cold for roux |
| Vegan Bacon 🥓 | ½ lb | Crumbled or diced |
| Fresh Thyme Leaves 🌿 | ¼ cup | Chopped finely |
| Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
The coconut milk is the secret weapon here—full-fat for the creamiest texture. Thai Kitchen brand works perfectly, but any full-fat canned coconut milk will do. For the potatoes, Russets are ideal because they break down smoothly into the broth. If you can't find Russets, Yukon Golds are a good second choice, but they'll hold their shape slightly more. The smoked paprika adds that restaurant-quality depth, so don't skip it—Penzeys brand has the best quality if you're buying a small jar. For the vegan bacon, Lightlife or Beyond Meat crumbles beautifully when cooked, but any good quality plant-based bacon will work.
No coconut milk? Cashew cream works beautifully—blend soaked cashews with water for a neutral flavor. Short on thyme? Fresh parsley at the same amount gives a bright contrast. The roux is non-negotiable for that velvety texture—don't rush it. Cook the flour and butter slowly over medium heat until it's a deep golden color, about 5-7 minutes. For the vegan bacon, if you can't find pre-made, smoked tofu crumbles are a great substitute. The carrots can be swapped for sweet potatoes if you prefer a slightly sweeter flavor, but they'll change the color of your chowder.
This chowder tastes even better the next day as the flavors meld. Store in an airtight container in the fridge for up to 5 days. For freezing, portion into 1-cup containers—it reheats beautifully. The roux can be made ahead and stored in the fridge for 3 days or frozen for 1 month. Fresh herbs like thyme keep well in the fridge for 1 week if wrapped in damp paper towels. The canned beans and coconut milk stay fresh for months unopened, so stock up—you'll want to make this again.
Why You'll Love This Recipe
- Here’s what sold me: the coconut milk turns this into a velvety dream without heavy cream. The carrots and potatoes soften just enough to melt into the broth, but there’s still texture—thanks to those plump cannellini beans holding their shape. It’s rich, but it doesn’t weigh you down like some chowders I’ve tried.
- Pantry to Pot: I swear by this recipe—no fresh herbs, no fancy prep. Just open a can of beans, crack open some coconut milk, and toss in whatever veggies you have lying around. That smoked paprika? Chef’s kiss. It’s the kind of soup you can make with your eyes closed (or while scrolling through your phone).
- Creamy Without the Guilt: Here’s what sold me: the coconut milk turns this into a velvety dream without heavy cream. The carrots and potatoes soften just enough to melt into the broth, but there’s still texture—thanks to those plump cannellini beans holding their shape. It’s rich, but it doesn’t weigh you down like some chowders I’ve tried.
- Leftovers That Don’t Suck: Between us, most soups turn into sad, watery meals by day three. Not this one. The flavors actually deepen overnight, and the beans keep it hearty. I’ve had it cold the next day (yes, really) with a sprinkle of smoked paprika and a cracker—still delicious. Meal prep? Finally, a soup worth making extra of.
Step-by-step instructions for creamy potato and bacon chowder
Follow this method for velvety texture and rich flavor without heavy cream.
Prepare the Vegetable Base
Heat 2 tablespoons of the unsalted butter in a large Dutch oven over medium heat. Add the diced yellow onion, diced celery stalks, and sliced carrots, cooking for 8-10 minutes until the vegetables soften and the onion becomes translucent. This foundational cooking ensures all flavors meld together.
Stir in the minced garlic cloves and 1 tablespoon smoked paprika, cooking for 30 seconds until fragrant. The paprika adds depth while the garlic infuses its aromatic qualities. Add the cubed russet potatoes and stir to coat them evenly with the vegetable mixture.
Build the Creamy Foundation
Pour in the 4 cups vegetable broth and bring the mixture to a gentle boil. Reduce heat to low and let it simmer uncovered for 15 minutes until the potatoes are tender and the broth has reduced slightly. This step develops the soup's base flavor and ensures the potatoes cook through without becoming mushy.
In a separate small saucepan, melt the remaining 0.33 cup unsalted butter over medium-low heat. Whisk in the 0.25 cup all-purpose flour to create a roux. Cook for 2-3 minutes until the mixture turns a pale golden color and smells nutty. This roux will thicken the chowder and give it that signature creamy texture.
Incorporate Creaminess and Protein
Slowly whisk the roux into the simmering vegetable mixture, stirring constantly to prevent lumps from forming. Add the 1.5 cups drained cannellini beans and the 0.5 lb crumbled vegan bacon, stirring to combine. The beans add hearty texture while the bacon contributes savory depth that complements the creamy base.
Pour in the 1 can coconut milk and stir well. The coconut milk replaces traditional cream while adding a subtle sweetness that balances the smoky paprika. Bring the soup back to a gentle simmer and cook for 5 minutes to allow all flavors to meld together. The soup should now have a velvety consistency with no visible lumps.
Season and Finish
Season the chowder with 1.5 teaspoons salt and 0.5 teaspoon black pepper, adjusting to taste. Stir in the 0.25 cup chopped fresh thyme leaves and let the soup simmer for another 3 minutes to infuse the thyme's aromatic qualities. The thyme adds an earthy note that complements the bacon and potatoes beautifully.
Taste the chowder and make any final adjustments to the seasoning. The soup should be rich, creamy, and well-balanced with no single flavor overpowering. For serving, ladle the chowder into bowls and garnish with additional chopped thyme if desired. This chowder delivers all the comforting qualities of traditional chowder without the use of heavy cream.
Pro Tips For Making Bean Chowder Soup
- Sear the Potatoes First: I learned this the hard way—skipping the initial sear means your chowder will taste like it was simmered in a bland broth. Dice the russets into ½-inch cubes, then hit them with a little oil in a hot pot for 3–4 minutes until they’re golden in spots. This builds flavor before the liquid even comes in.
- Drain and Rinse the Beans: That creamy coconut milk will curdle if you don’t cut the starch. Drain the cannellini beans, then rinse them under cold water for 10 seconds—just enough to wash off excess sodium and thickeners. Trust me, your soup won’t turn into glue later.
- Low and Slow for Carrots: After burning three batches of chowder, I finally figured out carrots need patience. Chop them into ¼-inch slices (smaller than you think) and simmer them for 10–12 minutes before adding the beans. Overcooking later turns them mushy—this way, they soften evenly without disappearing.
- Stir in Coconut Milk Last: Sounds weird, but it works: add the full-fat coconut milk in the final 5 minutes of simmering. The heat will mellow its richness, and you’ll avoid that split-second where the soup looks curdled. If you’re lazy (like me), at least whisk it in after the pot’s off the heat—just don’t tell anyone.
Flavor customization for this bean chowder soup
Smoky Heat Boost
Add ½ teaspoon cayenne pepper or 1 teaspoon chipotle powder when stirring in the smoked paprika for a fiery kick. I like to balance it with 1 tablespoon honey to sweeten the heat—trust me, it’s a game-changer.
For a smoky depth without heat, swap the cayenne for ½ teaspoon smoked sea salt and an extra ½ teaspoon smoked paprika. 🌶️
Creamy Upgrade
Swap the coconut milk for ½ cup cashew cream (blend soaked cashews with water) for a neutral, ultra-creamy texture. For extra richness, stir in ¼ cup Greek yogurt or vegan sour cream at the end—just heat it gently to avoid curdling.
If you love dairy, replace the coconut milk with ½ cup heavy cream and reduce the broth by ½ cup to maintain balance.
Spiced Twist
Infuse the broth with 1 cinnamon stick and 2 whole cloves while simmering for a warm, aromatic depth. Remove them before adding the roux. For a Mexican-inspired version, add 1 teaspoon ground cumin and ½ teaspoon oregano with the smoked paprika.
Finish with a squeeze of lime for brightness—it cuts through the creaminess beautifully.
Herb Variations
Swap the thyme for rosemary (use ¼ cup chopped fresh) for a piney, earthy note that pairs perfectly with the bacon. For a brighter flavor, add 2 tablespoons fresh parsley at the end.
If you love dill, try 1 tablespoon chopped fresh dill—it adds a bright, almost tangy contrast to the richness. 🌿
Protein Swaps
Replace the vegan bacon with ½ lb cooked shredded chicken or ½ lb smoked turkey for a classic chowder twist. For a seafood version, add ½ lb cooked shrimp or ½ lb smoked salmon in the last 5 minutes of cooking.
If you’re keeping it vegetarian, try ½ cup crumbled tempeh for a nutty, meaty texture.
Vegetable Mix-Ins
Add ½ cup diced zucchini or ½ cup corn kernels with the potatoes—they’ll soften perfectly during the simmer. For a fall version, swap the carrots for ½ cup diced butternut squash—it adds natural sweetness.
If you love texture, stir in ½ cup chopped kale in the last 3 minutes of cooking so it stays vibrant.
Nutrition facts
Frequently asked questions
Can I make this bean chowder without coconut milk?
For a neutral creaminess, blend ½ cup soaked cashews with ¼ cup water until smooth, then use it 1:1 for the coconut milk. If you prefer dairy, swap it for ½ cup heavy cream and reduce the broth by ½ cup to maintain balance. The roux will still provide the signature thickness.
Why does my chowder get watery after adding the coconut milk?
This happens when the roux isn't cooked long enough or the coconut milk isn't stirred in properly. For best results, whisk the roux to a deep golden color (5-7 minutes) and slowly temper the coconut milk by whisking it into the simmering soup gradually. If it's still too thin, simmer uncovered for 5-10 minutes to reduce excess liquid.
How can I make this chowder spicier without overpowering it?
Start with ½ teaspoon cayenne pepper or 1 teaspoon chipotle powder when adding the smoked paprika. Balance the heat with 1 tablespoon honey or 1 teaspoon maple syrup—this sweetens the heat beautifully. For smoky depth without spice, add ½ teaspoon smoked sea salt and an extra ½ teaspoon smoked paprika instead.
Can I prep this chowder ahead of time?
Yes! The roux can be made 3 days ahead and stored in the fridge, or frozen for 1 month. For the full chowder, cook it completely, then refrigerate in an airtight container for up to 5 days. Reheat gently on the stove, stirring occasionally, until warm throughout. The flavors actually deepen overnight!
What's the best way to serve this bean chowder?
This rich chowder pairs perfectly with crusty sourdough bread or oyster crackers for dipping. For extra flair, top each bowl with a dollop of vegan sour cream, a sprinkle of fresh parsley, or a crack of black pepper. It's also delicious over mashed potatoes or with a side of green salad for a complete meal.
