Soups & Stews
This black and white bean chili recipe delivers smoky, hearty flavor that transforms simple pantry staples into a restaurant-worthy bowl. The combination of black and white beans creates a rich, textured stew with deep umami notes from cumin, smoked paprika, and tomatoes.
What makes this recipe special is its balance—substantial enough for a main dish but flexible enough to adapt to any meal.
Start with sautéed onions, garlic, and bell peppers to build a fragrant base, then add dried beans, canned tomatoes, and a blend of warm spices. The long simmer—at least 45 minutes—allows flavors to meld while keeping the beans tender.
This method ensures every spoonful is packed with smoky depth and satisfying heartiness, making it perfect for chilly evenings or meal prep.
The result is a chili so flavorful it stands up as a standalone dish, yet it’s simple enough to prepare with basic ingredients. The smoky aroma alone will draw everyone to the table, while the creamy texture from the beans makes it incredibly satisfying.
Serve with avocado, cilantro, and a dollop of sour cream for a complete meal that’s both comforting and impressive.
Whether you're feeding a crowd or prepping for the week, this chili delivers bold flavor without requiring specialty ingredients. The recipe scales effortlessly, and leftovers taste even better the next day. Here’s how to make it—step by step—for a dish that’s as nourishing as it is delicious.
Ingredients for black and white bean chili
Pantry staples with smoky depth—this chili delivers restaurant-quality flavor using simple ingredients.
| Ingredient | Amount | Notes |
|---|---|---|
| Dried Black Beans 🌱 | 1 ½ cups | Rinsed before cooking |
| Dried White Beans 🌱 | 1 ½ cups | Great Northern or cannellini |
| Yellow Onion 🧅 | 1 whole | Diced into 1/4-inch pieces |
| Bell Pepper 🍅 | 1 whole | Red or green, diced |
| Garlic Cloves 🧄 | 4 cloves | Minced for aromatic base |
| Smoked Paprika 🌶️ | 2 tbsp | For authentic smoky flavor |
| Ground Cumin 🌿 | 1 ½ tbsp | Toasted for deeper aroma |
| Dried Oregano 🍃 | 1 tsp | Mexican oregano preferred |
| Canned Diced Tomatoes 🍅 | 2 cups | San Marzano preferred |
| Vegetable Broth 💧 | 4 cups | Low-sodium preferred |
| Extra-Virgin Olive Oil 🫒 | 2 tbsp | For sautéing vegetables |
| Lime Juice 🍋 | 2 tbsp | Freshly squeezed |
| Salt 🧂 | 1 ½ tsp | Diamond Crystal preferred |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Coconut Milk 🥥 | ½ cup | Full-fat for creaminess |
The beans are the heart of this chili. Dried black and white beans create a perfect textural contrast—creamy white beans and rich black beans. Most grocery stores carry them in bulk bins, but Trader Joe's and Whole Foods have pre-packaged options that save time. For the best flavor, soak the beans overnight or use the quick-soak method (boil for 2 minutes, then let sit for an hour). The San Marzano canned tomatoes are worth the splurge—they have a sweeter, deeper flavor than standard brands. If you can't find them, any high-quality diced tomatoes will work.
No smoked paprika? Regular paprika plus a pinch of liquid smoke gets you close. The cumin is essential—it's what gives chili its signature warmth. Toast the cumin seeds whole in a dry pan for 30 seconds before grinding for extra depth. For the bell pepper, any color works, but red adds natural sweetness. Short on lime? Fresh lemon juice works too. The coconut milk adds richness without dairy—use full-fat for the best texture. If you're watching calories, light coconut milk works but the flavor will be slightly less creamy.
This chili tastes even better the next day as flavors meld. Store in an airtight container in the fridge for up to 5 days. For longer storage, freeze portions for up to 3 months. I like to double the batch and freeze half—perfect for busy weeknights. The beans will soften further when reheated, so add a splash of broth if it gets too thick. Serve with avocado slices, fresh cilantro, and a dollop of vegan sour cream for a complete meal.
Why You'll Love This Recipe
- I swear by this trick: just toss the dried beans in a pot with cold water and simmer until tender—no overnight soaking, no fuss. The white beans stay creamy while the black beans add that deep, smoky backbone, and honestly? That’s the kind of shortcut I’ll take any day.
- No-Soak Needed: I swear by this trick: just toss the dried beans in a pot with cold water and simmer until tender—no overnight soaking, no fuss. The white beans stay creamy while the black beans add that deep, smoky backbone, and honestly? That’s the kind of shortcut I’ll take any day.
- Two-Tone Magic: Between us, the contrast of those dark black beans and pale white ones makes every bite feel special. Sauté the onion and bell pepper until soft, then add the garlic—that’s when the aroma hits you like a warm hug. The texture? Rich and hearty without being heavy, like a cozy sweater for your mouth.
- Meal Prep MVP: This chili actually improves the next day. I make a big batch on Sundays, and by Wednesday, the flavors meld into something even deeper. Pack it for lunches, freeze half for lazy nights, or serve it over rice when you’re craving something hearty. It’s my go-to for when I’m too tired to think.
Step-by-step instructions for black and white bean chili
Transform simple pantry staples into a rich, smoky chili with layers of flavor and satisfying texture.
Prepare the Beans for Maximum Texture
Rinse the 1.5 cups dried black beans and 1.5 cups dried white beans thoroughly under cold water to remove any debris. Place them in a large bowl and cover with plenty of fresh cold water—at least 8 cups. Let them soak for 8-12 hours (or overnight) in the refrigerator. This long soak ensures even cooking and prevents the beans from becoming mushy.
After soaking, drain the beans and give them a quick rinse. Transfer them to a large pot and cover with 4 cups fresh cold water again. Bring to a boil over high heat, then immediately reduce to a gentle simmer. Skim off any foam that rises to the surface during the first 5 minutes of simmering. This step prevents bitterness and ensures a cleaner flavor in your chili.
Sauté the Aromatic Base
While the beans simmer, heat the 2 tablespoons extra-virgin olive oil in a large Dutch oven or heavy pot over medium heat. Add the diced yellow onion and diced bell pepper, stirring occasionally. Cook for 8-10 minutes until the vegetables soften and begin to caramelize slightly—you'll notice they release their moisture and develop a deeper color.
Add the 4 minced garlic cloves and cook for another 30 seconds until fragrant. Immediately stir in the 2 tablespoons smoked paprika, 1.5 tablespoons ground cumin, and 1 teaspoon dried oregano. Let the spices toast in the oil for 30 seconds to deepen their aroma—you'll smell the earthy warmth of the cumin and the subtle smokiness of the paprika. This step builds the flavor foundation for your chili.
Combine Everything and Simmer
Add the 2 cups canned diced tomatoes (with their juices), 4 cups vegetable broth, 1.5 teaspoons salt, and 0.5 teaspoon black pepper to the pot with the sautéed vegetables. Stir well to combine, then carefully add the simmering beans and their cooking liquid to the pot. The mixture should be well-covered with liquid—if not, add a bit more broth to ensure the beans cook evenly.
Bring the entire mixture to a boil, then reduce the heat to low and let it simmer uncovered for 1.5 hours. Stir occasionally to prevent sticking. You'll notice the beans begin to break down slightly, releasing their starches and thickening the chili. The liquid will gradually reduce, and the flavors will meld together into a cohesive, aromatic base.
Finish with Creamy Depth and Brightness
After 1.5 hours of simmering, stir in the 0.5 cup coconut milk and 2 tablespoons lime juice. The coconut milk adds a velvety richness that balances the earthy spices, while the lime juice brightens the entire dish with a citrusy tang. Taste and adjust the seasoning—you may need to add a pinch more salt or a squeeze of lime to achieve the perfect balance of flavors.
Let the chili simmer for another 15-20 minutes to allow the coconut milk to fully incorporate and the lime juice to mellow slightly. The texture should be thick and hearty, with the beans holding their shape but softening enough to be tender. The chili should smell deeply aromatic, with notes of smoky paprika, earthy cumin, and the bright citrus finish.
Rest and Serve for Optimal Flavor
Remove the chili from heat and let it rest for 10-15 minutes before serving. This resting period allows the flavors to fully meld together and the chili to thicken slightly as it cools. Serve the chili warm, garnished with additional lime wedges and a sprinkle of fresh cilantro if desired. The contrast of the warm, smoky chili with the bright lime and fresh herbs elevates the dish to restaurant-quality.
Each spoonful should deliver a harmonious blend of textures—creamy coconut milk, tender beans, and the slight bite of lime. The chili should be rich and satisfying, with a depth of flavor that comes from the slow simmer and the careful balance of spices. Enjoy immediately for the best experience, as the flavors continue to develop even after serving.
Pro Tips For Making Black And White Bean Chili
- SOAK BEANS SEPARATELY: Dried black and white beans have different textures—black beans soften faster and can turn mushy if over-soaked. Soak them in separate bowls for 4-6 hours (or overnight), then drain. The whites need longer cooking, so give them a head start by adding them to the pot 30 minutes before the black beans.
- SWEAT ONIONS LOW AND SLOW: I used to rush this step and ended up with bitter, browned onions that overpowered the chili. Instead, cook them on medium-low heat for 10-12 minutes with a pinch of salt until translucent but still bright. This builds flavor without burning—trust me, your chili will taste like it simmered all day.
- SKIP THE CROWDING: Adding all the beans at once turns your chili into a sad, thick paste. Start with half the beans, simmer for 20 minutes, then add the rest. This keeps the texture creamy but not gluey, and the beans absorb flavors more evenly. (Yes, even if you’re impatient like me.)
- TOAST GARLIC WITH PEPPER: After sautéing onions, add minced garlic and bell pepper, then turn the heat to medium-high. Let them sizzle for 2-3 minutes until the garlic turns golden—this adds depth. A splash of water or broth can help if they stick, but don’t skip this step. It’s the thing that makes your chili taste homemade, not canned.
Flavor customization for these flavors
Spice Level Control
Want to adjust the heat? Start with 1 teaspoon cayenne pepper for mild warmth, or double it to 2 teaspoons for a noticeable kick. For smoky heat without spice, add 1 extra tablespoon smoked paprika—it deepens the flavor without burning.
I love adding ½ teaspoon chipotle powder for a slow-building, smoky heat that lingers beautifully. 🌶️
Creamy Variations
Replace coconut milk with ½ cup cashew cream (blend soaked cashews with water) for a nutty depth. For a dairy-free option, stir in ¼ cup tahini at the end—it adds a rich, sesame-forward creaminess.
If you prefer dairy, swap coconut milk for ½ cup Greek yogurt or sour cream (vegan versions work too) for a tangy finish.
Sweet and Tangy Twists
Balance the smoky flavors with 1 tablespoon maple syrup or agave nectar—it caramelizes slightly during simmering, adding natural sweetness. For tang, add 1 extra tablespoon lime juice (or sub orange juice) to brighten the dish.
A pinch of cinnamon (¼ teaspoon) also pairs surprisingly well, adding warmth without overpowering.
Herb and Veggie Boosts
Fresh herbs elevate this chili instantly. Stir in 2 tablespoons chopped cilantro or parsley at the end, or add 1 teaspoon dried thyme during simmering for an earthy note.
For extra veggies, sauté ½ cup diced zucchini or mushrooms with the onions—they absorb the smoky flavors beautifully. Roasted corn adds natural sweetness too!
Protein Add-Ins
Keep it vegan with ½ cup crumbled tempeh (pan-fried with cumin) or 1 cup cooked quinoa for heartiness. For non-vegan versions, stir in 1 cup shredded rotisserie chicken or ½ cup black beans (if you want extra texture).
The beans already provide plenty of protein, but these additions make it even more filling. ✨
Nutrition facts
Frequently asked questions
Can I use canned beans instead of dried for this black bean and white bean chili?
For convenience, use 2 (15-ounce) cans each of black beans and white beans, drained and rinsed. Just reduce the simmering time to 30-45 minutes since canned beans are pre-cooked. The texture will be slightly softer but still delicious—perfect for quick meals.
Why does my chili taste too bitter? How can I fix it?
Bitterness usually comes from overcooked beans or spices. To fix it, stir in 1 tablespoon lime juice or apple cider vinegar to brighten flavors. For future batches, simmer beans uncovered and add a pinch of sugar (½ teaspoon) to balance bitterness during cooking.
How can I make this chili spicier without cayenne?
Try ½ teaspoon chipotle powder for smoky heat or 1 teaspoon smoked hot paprika for depth. For immediate kick, add 1 diced jalapeño with the onions. Remove seeds for milder heat. Always taste as you go—spices build intensity during simmering!
Can I make this chili in an Instant Pot or pressure cooker?
Yes! Sauté onions, peppers, and spices first, then add all ingredients (including soaked beans) and pressure cook for 15 minutes. Quick-release the pressure, then stir in coconut milk and lime. The texture will be slightly different but still hearty—great for 30-minute meals!
What's the best way to reheat leftover chili?
Reheat gently on the stove over low heat with 2-3 tablespoons broth to prevent drying. For microwave reheating, cover with a damp paper towel and heat in 1-minute intervals until hot. The beans absorb flavors better when warmed slowly—never skip the broth!
