Side Dishes
This haricot beans recipe delivers restaurant-quality depth in just one pot—where smoky spices and velvety creaminess transform humble dried beans into a hearty centerpiece. The secret lies in slow-cooking the beans with aromatic spices until they develop that signature creamy texture while staying tender.
I developed this version after years of testing, and it’s become a staple in my meal prep rotation—packed with plant-based protein and adaptable for any occasion.
What sets this recipe apart is the balance of techniques: soaking the beans overnight for even cooking, then simmering them with smoked paprika and cumin until they’re fork-tender. The addition of coconut milk at the end creates that luxurious creamy finish without overpowering the beans’ natural flavor.
It’s the kind of dish that tastes even better the next day, making it perfect for busy weeks when you want a satisfying, protein-rich meal with minimal effort.
The result is a dish that’s rich, smoky, and deeply flavorful—ideal for serving alongside grilled meats, roasted vegetables, or even as a standalone bowl with crusty bread. The beans hold their shape while absorbing the spices, creating a texture that’s both hearty and comforting.
This isn’t just another bean recipe; it’s a creamy, smoky masterpiece that proves simple ingredients can deliver restaurant-quality results.
Whether you’re meal prepping for the week or preparing a weeknight dinner, this recipe scales effortlessly and stays fresh in the fridge for up to five days. The versatility makes it a go-to for vegetarians, vegans, or anyone looking to add more plant-based protein to their diet.
Let’s get cooking—your taste buds will thank you.
Ingredients for haricot beans
Smoky spices and velvety coconut milk transform dried beans into restaurant-quality comfort.
| Ingredient | Amount | Notes |
|---|---|---|
| Dried Haricot Beans 🌱 | 1 ½ lb | Rinsed, soaked overnight |
| Smoked Paprika 🌶️ | 2 tbsp | For authentic smoky depth |
| Ground Cumin 🌿 | 1 ½ tbsp | Toasted for richer flavor |
| Garlic Cloves 🧄 | 6 cloves | Minced, aromatic base |
| Onion 🧅 | 1 whole | Yellow or red, diced |
| Full-Fat Coconut Milk 🥥 | 1 can | 13.5 oz, unsweetened |
| Vegetable Broth 💧 | 4 cups | Low-sodium preferred |
| Tomato Paste 🍅 | 2 tbsp | For depth and body |
| Salt 🧂 | 1 ½ tsp | Fine sea salt preferred |
| Black Pepper 🌶️ | ½ tsp | Freshly cracked |
| Olive Oil 🫒 | 2 tbsp | Extra-virgin for richness |
| Bay Leaves 🌿 | 2 whole | For subtle herbal notes |
| Lemon Juice 🍋 | 1 tbsp | Brightens flavors at end |
The beans are everything here. Dried haricot beans soak overnight for even cooking—don’t skip this step. I always grab organic from Whole Foods or the bulk bins at Trader Joe's for the best texture. The smoked paprika and cumin are non-negotiable for that signature smoky depth. Toast the cumin in your dry pan for about a minute before adding to the pot—it makes all the difference. The garlic and onion form the aromatic base, so don’t rush this step. Fresh is best, but frozen works in a pinch if you're short on time.
No coconut milk? Cashew cream or extra olive oil can mimic the creaminess, but it won’t be quite the same. Short on smoked paprika? Regular paprika plus a dash of liquid smoke gets you close. The tomato paste is crucial for body, but if you’re avoiding it, blend in a roasted red pepper for similar depth. Vegetable broth should be low-sodium—Knorr or Pacific Foods are solid choices. The bay leaves add subtle herbal notes, but thyme works too if that’s what you’ve got. Adjust salt to taste—Diamond Crystal kosher salt is my go-to for even distribution.
This keeps beautifully for 5 days in the fridge, and honestly tastes even better the next day. The flavors meld and the beans soften further. For longer storage, freeze portions in airtight containers for up to 3 months. I always make extra—it’s perfect for meal prep bowls, tacos, or even as a side for grilled meats. The coconut milk can be frozen separately if you won’t use it all at once. Just thaw it in the fridge overnight before adding to the pot.
Why You'll Love This Recipe
- No-Fuss Cooking: I’ll be honest—soaking beans overnight feels like a chore, but honestly? It’s the secret to silky, creamy perfection. No blender, no pressure cooker, just a Dutch oven and patience. That’s it.
- Smoky-Creamy Magic: The smoked paprika and toasted cumin? Chef’s kiss. You get this deep, earthy warmth that pairs perfectly with the velvety coconut milk. It’s like a hug in every bite—rich, balanced, and impossible to resist.
- Double Your Pleasure: This isn’t just dinner; it’s a meal prep MVP. Double the batch, and you’ve got lunch for days. Freezes like a dream too—just thaw and reheat. My kids even ask for seconds (yes, even on a Tuesday night).
- Budget-Friendly Luxury: Dried beans stretch your grocery budget further than any canned option. Add in pantry staples like onion, garlic, and spices, and you’ve got a dish that feels fancy without breaking the bank.
Step-by-step instructions for smoky-spiced and creamy haricot beans
Here's the foolproof method for transforming dried haricot beans into silky, aromatic perfection.
Sauté the Aromatics Until Fragrant
Heat the 2 tablespoons olive oil in a large Dutch oven over medium heat. Add the 1 diced onion and cook for 5 minutes until softened and translucent. Stir in the 6 minced garlic cloves and continue cooking for 30 seconds until the garlic becomes golden and releases its aroma.
Here's where the magic starts—add the 2 tablespoons smoked paprika and 1½ tablespoons ground cumin. Toast these spices for 30 seconds, stirring constantly, until the paprika deepens in color and fills your kitchen with that irresistible smoky scent. This step builds the flavor foundation that carries through the entire dish. Don't walk away—burnt spices ruin everything.
Build the Creamy Base
Push the sautéed aromatics to one side of the pot and add the 2 tablespoons tomato paste. Cook for 2 minutes until it darkens slightly and loses its raw taste. This creates a rich, umami base that prevents the final dish from being too light.
Pour in the 4 cups vegetable broth and scrape up any browned bits from the bottom of the pot. Add the 2 bay leaves and bring the mixture to a gentle simmer. Now it's time for the star of the show—the 1½ pounds dried haricot beans. Add them along with the 1½ teaspoons salt and ½ teaspoon black pepper, then stir gently to combine. The beans should be completely submerged in the liquid, which is crucial for even cooking.
Simmer Until Tender and Creamy
Bring the mixture to a full boil, then immediately reduce heat to low and cover. Let it simmer gently for 1½ to 2 hours, checking occasionally to ensure the beans are tender but not mushy. You'll know they're ready when they easily crush between your fingers with just slight resistance—this indicates perfect doneness.
About 20 minutes before the beans are done, stir in the 1 can full-fat coconut milk. This creates the creamy texture promised in the title while maintaining the smoky depth. The coconut milk will blend seamlessly into the broth, creating a velvety consistency without overpowering the bean flavor. Keep the heat at a whisper—you're not cooking the coconut milk, just integrating it.
Finish with Brightness and Texture
Once the beans reach perfect tenderness, remove the pot from heat and discard the bay leaves. Stir in the 1 tablespoon lemon juice—this brightens all the rich, earthy flavors and cuts through any potential heaviness from the coconut milk. The acidity also enhances the natural sweetness of the beans.
Taste and adjust seasoning if needed. The beans should be perfectly balanced—smoky from the paprika, warm from the cumin, creamy from the coconut milk, and bright from the lemon. If the texture is too thick, add a splash of hot vegetable broth to reach your desired consistency. This dish serves 4 and makes an excellent vegetarian main course or hearty side.
Pro Tips For Making Haricot Beans
- Toast the Cumin First: I used to just toss the ground cumin in with the paprika, but toasting it first—right in the pot with the olive oil for 30 seconds—adds a nutty depth that makes the whole dish sing. Skip this, and you’re missing the warm, earthy punch that balances the smokiness.
- Check Bean Tenderness Early: Start testing the beans 45 minutes before the minimum simmer time—crush one between your fingers. If it’s still firm, keep going; if it’s falling apart, you’ve overcooked them. The goal is tender-but-firm, not mushy. I’ve ruined batches by walking away and forgetting to check.
- Use Full-Fat Coconut Milk: The recipe calls for full-fat coconut milk, and for good reason—it’s the only way to get that luscious, velvety texture without the dish tasting like watered-down broth. Light coconut milk won’t cut it here; trust the process.
- Deglaze with Broth Immediately: As soon as you add the vegetable broth, scrape up every browned bit clinging to the pot—those are flavor bombs. I learned this the hard way when I rushed and missed a few spots, leaving the dish tasting flat. Take the extra 10 seconds to deglaze properly.
Wine and beer pairings for haricot beans
Earthy Reds and Whites
The rich, smoky flavors of this haricot bean dish pair beautifully with bold, earthy red wines like Rioja Reserva from Spain. The oak-aged Tempranillo provides notes of vanilla and dried fruit that complement the coconut milk’s creaminess while cutting through the dish’s smoky depth.
I always reach for a 13.5% ABV bottle—it’s the perfect balance of structure and approachability. For a lighter option, Grenache from Provence offers bright red berry notes that contrast the dish’s earthiness. 🍷
Creamy White Alternatives
If you prefer white wine, look for a Viognier from California or the Rhône Valley. Its floral aromas and stone fruit flavors harmonize with the lemon juice’s brightness while standing up to the coconut milk’s richness.
A crisp Chardonnay with minimal oak aging also works—just avoid heavy buttery styles that might overwhelm the dish’s delicate balance. I once paired this with a 2020 Domaine Zind-Humbrecht and was impressed by how the wine’s citrus notes echoed the lemon finish.
Craft Beer Complements
For beer lovers, a smoked porter like Goose Island Bourbon County creates an incredible match. The roasted malt flavors enhance the smoky paprika, while the dark beer’s caramel notes mirror the beans’ natural sweetness.
If you prefer something lighter, a Belgian-style witbier with coriander and citrus adds refreshing contrast to the dish’s creaminess. I’ve also had success with a German-style Dunkelweizen, whose malty sweetness complements the coconut milk beautifully. 🍺
Unexpected Pairings
Don’t overlook sparkling wine for a refreshing twist—try a Prosecco Brut or Cava with its crisp acidity and mineral notes. The bubbles cleanse the palate between bites of creamy beans. For a non-alcoholic option, a ginger beer with its spicy kick balances the dish’s earthy flavors perfectly.
I once served this with a house-made kombucha and was surprised by how well the probiotic tang complemented the smoky depth.
Seasonal Considerations
In summer, a dry rosé from Provence pairs beautifully with the dish’s brightness, while in winter, a bold Syrah with peppery notes enhances the cumin’s warmth.
For beer season, a hazy IPA with tropical fruit flavors can be surprisingly complementary—just avoid overly hoppy styles that might compete with the dish’s delicate spices. I’ve found that seasonal pairings elevate this dish from weeknight meal to special occasion.
Nutrition facts
Frequently asked questions
Why do the beans need to soak overnight?
Soaking dried haricot beans overnight reduces cooking time and ensures even tenderness. It also removes excess starch, preventing mushy texture. Skipping this step may leave you with undercooked or unevenly soft beans. Trust the process—it’s worth the wait!
Can I use canned beans instead of dried?
While you can use canned beans, they won’t achieve the same creamy texture or deep flavor. Dried beans absorb the spices and coconut milk better during the long simmer. If you’re short on time, rinse and drain canned beans, but expect a lighter result. The magic happens in the slow-cooking!
How do I know when the beans are perfectly tender?
Test doneness by gently squeezing a bean between your fingers—it should yield slightly but still hold shape. Overcooking turns them mushy, while undercooking leaves them firm. The 1½ to 2 hours simmer time is a guideline, but always check 10 minutes before the range ends. Patience pays off!
What if my dish turns out too thick?
No problem! Simply stir in ½ cup hot vegetable broth at a time until you reach your desired consistency. The beans will absorb the liquid as they cool, so adjust gradually. This is the beauty of one-pot cooking—easy fixes!
