Soups & Stews
This Brazilian black bean soup recipe transforms simple ingredients into a rich, spiced simmer with coconut creaminess that feels like a warm embrace. The secret lies in soaking the beans overnight—this step unlocks their full flavor and creates a velvety texture that defines this dish.
What sets this recipe apart is the balance of smoky paprika, fresh cilantro, and bay leaves, which build layers of depth as the soup simmers for hours.
The result is a hearty, aromatic soup where tender black beans float in a broth infused with garlic, onions, and a touch of coconut milk for natural creaminess.
Unlike traditional versions, this adaptation skips meat entirely while still delivering that signature Brazilian comfort—perfect for vegetarians or anyone craving a satisfying, protein-packed meal. The long simmer allows flavors to meld beautifully, making every spoonful rich and complex.
Serve this soup with steamed rice, crispy farofa, and sautéed collard greens for the full Brazilian experience. The combination of textures—creamy soup, crunchy farofa, and tender greens—creates a meal that’s both nourishing and deeply comforting.
Whether you're feeding a crowd or meal prepping for the week, this recipe delivers restaurant-quality results with minimal effort.
Ready in about 3 hours (mostly hands-off time), this soup gets better as it sits, making it ideal for busy weeknights or weekend gatherings. The aroma alone will have everyone gathering at the table—proof that simple ingredients, when treated with care, can create something extraordinary.
Ingredients for brazilian bean soup
The foundation of this Brazilian masterpiece begins with soaking beans and balancing smoky spices.
| Ingredient | Amount | Notes |
|---|---|---|
| Dried Black Beans 🌱 | 2 cups | Soaked overnight, drained |
| Coconut Milk 🥥 | 1 can | Full-fat, 13.5 oz can |
| Yellow Onions 🧅 | 2 whole | Diced, medium size |
| Garlic Cloves 🧄 | 6 cloves | Minced, fresh preferred |
| Smoked Paprika 🌶️ | 2 tbsp | High-quality, Spanish preferred |
| Bay Leaves 🌿 | 2 whole | Dried, standard size |
| Fresh Cilantro 🌿 | ½ cup | Chopped, stems removed |
| Fresh Lime 🍋 | 1 whole | Juiced, Meyer if available |
| Vegetable Oil 🫒 | ¼ cup | Neutral, high smoke point |
| Salt 🧂 | 1 ½ tsp | Diamond Crystal preferred |
| Black Peppercorns 🌶️ | ½ tsp | Freshly cracked |
| Canned Diced Tomatoes 🍅 | 1 can | 28 oz, fire-roasted preferred |
| Vegetable Broth 💧 | 4 cups | Low-sodium, homemade preferred |
The black beans are the heart of this dish—dried beans develop richer flavor than canned, but if you're short on time, use two 15-ounce cans of black beans (drained and rinsed). For the coconut milk, full-fat delivers the creamiest texture, and brands like Thai Kitchen or Goya work perfectly. The smoked paprika should be Spanish smoked paprika for that authentic Brazilian flavor—Penzeys or La Boîte carry excellent options. Bay leaves add depth, but don't skip them—they're essential for that layered aroma. Fresh cilantro brightens the soup, but if you're using dried, reduce to one-quarter teaspoon and skip the garnish.
No smoked paprika? Substitute with a mix of regular paprika and a pinch of liquid smoke—though nothing quite matches the real thing. Running low on vegetable broth? Water plus two bouillon cubes works in a pinch. The diced tomatoes add acidity, so if you prefer a different balance, swap for tomato paste (1 tablespoon) dissolved in a splash of water. For extra richness, add a tablespoon of tahini at the end—it blends beautifully. The lime should be juiced fresh; bottled juice lacks the bright punch. If you're making this ahead, add the lime juice just before serving to preserve its freshness.
This soup tastes even better the next day as flavors meld—plan ahead. Store in an airtight container in the fridge for up to 5 days, or freeze portions for 3 months. For freezing, cool completely first to prevent ice crystals. The beans and broth absorb flavors beautifully over time, so reheat gently on the stove with a splash of water or broth to restore creaminess. Garnish with extra cilantro and a sprinkle of crispy farofa (toasted cassava flour) just before serving for that authentic Brazilian touch.
Why You'll Love This Recipe
- No-Soak Needed: I swear by this trick—just toss the dried beans in boiling water with a bay leaf, and they soften faster than you’d think. No overnight soaking, no fuss, and the result? Creamy, rich beans that taste like they simmered all day.
- Smoky Creamy Magic: That smoked paprika and coconut milk combo? It’s the secret weapon. The beans soak up the smoky depth while the coconut milk gives it this velvety, almost dessert-like richness—like a hug in a bowl.
- Lunch for Days: Make a big pot on Sunday, and you’ve got breakfast (yes, really), lunch, or dinner covered for the week. The flavors only get better as it sits, and reheating? Just add a splash of water—no mushy beans here.
- Pantry Staple Power: Onions, garlic, beans, and coconut milk? You’re probably already stocked. This soup costs less than takeout but feels like a restaurant-worthy meal—especially when you’re stretching a budget or feeding a crowd.
Step-by-step instructions for Brazilian black bean soup
This method builds rich, smoky depth while maintaining the soup's velvety coconut finish.
Sauté Onions and Garlic for Aromatic Foundation
Heat the 0.25 cup vegetable oil in a large Dutch oven over medium heat. Add the 2 whole yellow onions and cook for 8-10 minutes, stirring occasionally, until they become translucent and the edges begin to soften. This slow cooking caramelizes the natural sugars in the onions, creating a sweet base for your soup.
When the onions are golden and tender, add the 6 cloves garlic cloves and cook for an additional 1-2 minutes until fragrant. You'll know it's ready when the kitchen fills with that unmistakable garlic aroma—this is when the flavors truly start to develop. Remove the onions and garlic from the pot and set aside temporarily; we'll return to them later in the process.
Toast Spices and Build the Flavor Base
In the same Dutch oven, reduce the heat to medium-low and add the 2 tablespoons smoked paprika. Toast the spice for 1-2 minutes, stirring constantly, until it releases its deep, smoky aroma. This step is crucial—it intensifies the paprika's flavor and removes any bitterness that might otherwise linger in the soup.
Add the 2 whole bay leaves and stir for 30 seconds to infuse their earthy notes. Immediately return the sautéed onions and garlic to the pot along with the 1 can canned diced tomatoes. Stir well to combine, then add the 4 cups vegetable broth and bring the mixture to a gentle boil over medium-high heat. Once boiling, reduce the heat to low and let it simmer uncovered for 15 minutes to allow the flavors to meld together.
Incorporate the Black Beans and Simmer
Add the 2 cups dried black beans to the simmering broth mixture. Stir gently to distribute the beans evenly throughout the liquid. The beans will begin to absorb the flavorful broth immediately, so make sure they're fully submerged. Return the soup to a gentle simmer and cook uncovered for 45-60 minutes, stirring occasionally to prevent the beans from sticking to the bottom of the pot.
After 30 minutes, check the beans for doneness by pressing one gently with a fork. They should be tender but still hold their shape. If they're still firm, continue simmering for another 15-20 minutes. The soup should reduce slightly, becoming thicker and more concentrated in flavor. This is when the black beans truly transform into the hearty, satisfying centerpiece of your dish.
Finish with Coconut Milk and Fresh Herbs
Once the beans are tender, stir in the 1 can coconut milk and the 1.5 teaspoons salt. The coconut milk will create a luxurious creaminess that balances the earthy flavors of the beans and spices. Simmer the soup for an additional 10 minutes to allow the coconut milk to fully incorporate and warm through. Taste and adjust the seasoning with the 0.5 teaspoon black peppercorns, freshly cracked for maximum flavor.
Remove the 2 whole bay leaves and stir in the 0.5 cup fresh cilantro. The bright, citrusy notes of the cilantro will cut through the richness of the coconut milk, creating a perfect balance of flavors. Finally, add the juice of the 1 whole fresh lime, squeezing it directly into the pot. This last step brightens the entire dish, giving it that signature Brazilian tang that makes this soup truly special.
Rest and Serve with Confidence
Let the soup rest off the heat for 10 minutes before serving. This resting period allows the flavors to fully meld together and ensures that each spoonful delivers the perfect balance of smoky, creamy, and tangy notes. Serve the soup warm, garnished with additional fresh cilantro if desired. The texture should be rich and velvety, with each bite offering a harmonious blend of tender beans, aromatic spices, and the subtle sweetness of the coconut milk.
This soup is best enjoyed fresh, but any leftovers can be stored in an airtight container in the refrigerator for up to 4 days. The flavors actually deepen over time, making this a perfect meal to prepare ahead for busy weeknights. Pair it with crusty bread or a simple green salad to complete your meal.
Pro Tips For Making Brazilian Bean Soup
- SOAK BEANS TWICE: Dried black beans are stubborn—give them a quick rinse, then soak in plenty of water (at least 3x their volume) for 4 hours, or overnight if you’re not in a rush. After soaking, drain and rinse them again—this removes the gummy starch that makes your soup cloudy and gluey. I learned this the hard way when my first batch turned into a thick, unappetizing paste.
- CARAMELIZE ONIONS LOW: Skip the high-heat rush—slow-cook your onions for 20-25 minutes until deep amber, adding a splash of water every few minutes if they stick. The goal isn’t color speed; it’s flavor depth. Smoked paprika goes in after they’re caramelized, not before, or you’ll just burn the spice and waste its earthy magic.
- STIR IN COCONUT MILK LAST: Add coconut milk when the beans are almost tender—just before the final simmer. If you dump it in too early, the heat will split the fats, turning your creamy soup into a greasy, curdled mess. A quick taste test (yes, even if you’re impatient like me) tells you when it’s time.
- SALT THE BEANS EARLY: Add salt to the soaking water (about 1 tsp per quart) and again when you start cooking. This breaks down the beans faster and keeps them from tasting bland. If you wait until the end, you’ll end up guessing how much to add—and no one wants a soup that’s almost right.
Best sauces and condiments for this dish
Smoky Coconut Cream
The star of this soup is the smoky coconut cream—a perfect blend of 1 can coconut milk and 2 tbsp smoked paprika that gives it that rich, velvety finish. I like to stir in the coconut milk just before the final 10-minute simmer so it doesn’t curdle.
For extra depth, add 1 tsp liquid smoke if you’re skipping the paprika, but nothing beats the real thing. 🌶️
Bright Lime Finish
A squeeze of fresh lime juice at the end is non-negotiable—it cuts through the richness and adds that signature Brazilian tang. I always use Meyer limes if available, but regular limes work too.
If you’re serving this ahead, add the lime juice just before serving to keep it vibrant. A sprinkle of lime zest on top adds an extra zing.
Cilantro and Garlic Garnish
Fresh cilantro isn’t just for garnish—it brightens the soup with its citrusy notes. I chop 0.5 cup and stir half into the soup while keeping some aside for garnish.
For an extra kick, add 2 minced garlic cloves to the final spoonful before serving. This combo elevates the dish from good to unforgettable. 🌿
Spicy Chili Oil Drizzle
For heat lovers, a drizzle of chili oil (like La Choy or homemade) adds smoky, spicy depth. Heat 2 tbsp neutral oil with 1 tsp crushed red pepper flakes and 1 tsp smoked paprika until fragrant, then drizzle over the soup.
It’s a game-changer for balancing the creaminess. Start with 1 tsp and adjust to taste.
Farofa Crunch
No Brazilian meal is complete without farofa—toasted cassava flour that adds a nutty crunch. Toast 0.5 cup farofa in a dry pan over medium heat for 3-4 minutes, stirring constantly, until golden.
Sprinkle it on top just before serving. It’s like the perfect textural contrast to the creamy soup. 🥥
Avocado Crema Swirl
For a creamy, cooling contrast, blend 1 ripe avocado, 0.25 cup coconut milk, and 1 tbsp lime juice until smooth. Swirl it on top of the soup like a crema.
The avocado’s richness pairs beautifully with the smoky beans, and the lime keeps it fresh. This is my go-to for a lighter, vegetarian-friendly twist. 🥑
Nutrition facts
Frequently asked questions
Why do I need to soak the black beans overnight?
Soaking the beans for at least 8 hours (or overnight) dramatically reduces cooking time and prevents that unpleasant, starchy texture. It also helps the beans absorb flavors better, creating a creamier, more tender final result. This step is especially important for dried beans—they'll cook evenly and develop that signature velvety mouthfeel.
Can I use canned beans instead of dried?
If you're short on time, use two 15-ounce cans of black beans (drained and rinsed). For best results, add them with the tomatoes and broth in Step 2 and simmer for 20-30 minutes to let flavors meld. Canned beans work well, but dried beans create a richer, more complex flavor when soaked properly.
How can I make this soup spicier?
Add 1 teaspoon cayenne pepper when toasting the smoked paprika, or stir in 1-2 tablespoons of hot sauce (like Tabasco) at the end. For smoky heat, try ½ teaspoon chipotle powder or a pinch of crushed red pepper flakes in the final 10 minutes of cooking. Always adjust to taste—start small and add more if needed.
What's the best way to reheat leftovers?
Gently reheat on the stove over low heat, adding 1-2 tablespoons of water or broth to prevent drying out. Avoid microwaving—it can make the coconut milk separate. For extra creaminess, stir in 1 tablespoon coconut milk before reheating. Leftovers keep well for 4-5 days in the fridge or 3 months frozen.
Can I make this soup in a slow cooker?
Yes! Sauté the onions, garlic, and spices first, then transfer everything to the slow cooker. Cook on low for 6-7 hours or high for 3-4 hours. Add the coconut milk and lime juice during the last 30 minutes to prevent curdling. The slow cooker method actually enhances the flavors—just check bean doneness with a fork.
