Thai Braised Black Beans in Tamarind Coconut Sauce (Tofu Keang Tod)
Balance is everything. Thai cooking understands this in its bones — taste and adjust. This braised black beans is a perfect example of that philosophy in action.
Every element in this dish has a purpose. The heat wakes you up. The herbs cool you down. The fish sauce grounds everything. Together, they create harmony on the plate. Fresh herbs are life.
Ingredients
For the Red Curry Paste
3-4 Thai bird's eye chilies (seeds removed for less heat, or whole for maximum impact)
2 tablespoons fresh galangal, sliced thinly (approximately 1-inch piece)
1½ stalks fresh lemongrass, tender white and pale green parts only, chopped (approximately ¼ cup)
3 cloves fresh garlic, peeled
1 small shallot (approximately 30g), peeled and halved
1 tablespoon shrimp paste (kapi, optional; omit for vegan version, add ½ teaspoon additional salt instead)
1 tablespoon coriander seeds
½ teaspoon cumin seeds
¼ teaspoon white pepper
1½ tablespoons fish sauce (nam pla) OR 1½ tablespoons soy sauce (for vegetarian/vegan version)
2 tablespoons coconut oil or vegetable oil
For Braising the Black Beans
2 cans (approximately 480ml total) black beans, drained and rinsed thoroughly (or 2½ cups cooked fresh beans)
1 can (400ml) full-fat coconut milk, divided
1 cup vegetable stock or water
3 tablespoons tamarind paste concentrate (or tamarind pulp prepared as directed)
1½ tablespoons palm sugar
1 tablespoon fish sauce (nam pla, or soy sauce for vegetarian version)
½ teaspoon sea salt (adjust to taste)
¼ teaspoon white pepper
For Aromatics and Finish
3-4 kafir lime leaves, torn
1½ tablespoons fresh lime juice
1½ cups fresh spinach or Thai basil (bai krapow)
2-3 Thai red chilies, sliced thinly (for garnish)
Fresh cilantro leaves
Green onions, chopped
Crispy fried shallots (optional, for garnish)
Optional Additions (for Texture and Depth)
200g firm tofu, cubed (pairs beautifully with black beans)
2-3 medium mushrooms, halved
1 medium red bell pepper, cut into strips
1 small zucchini, cut into half-moons
Equipment Needed
Large heavy-bottomed pot (4-5 quarts)
Medium saucepan (for curry paste preparation)
Mortar and pestle (for spice toasting and grinding)
Fine mesh strainer (for rinsing beans)
Measuring cups and spoons
Wooden spoon for stirring
Cutting board and sharp knife
Small bowls (for ingredients, organized mise en place)
Ladle
Serving bowls
Blender or food processor (alternative to mortar and pestle, optional)
Instructions
Step 1: Toast and Grind Spice Seeds (5 minutes)
In a dry heavy-bottomed pot over medium heat, add the coriander seeds and cumin seeds. Stir constantly with a wooden spoon for 2-3 minutes until fragrant and lightly darkened.
Listen for the toasting aromas—coriander becomes sweet and floral, cumin develops nutty notes. Stop when you smell the oils releasing but before seeds darken significantly (light to medium brown at most).
Transfer the toasted seeds to a mortar and pestle and grind until mostly broken with some texture remaining (not a fine powder). Set aside.
The grinding releases additional volatile oils that intensify the flavor profile. This step is essential for authentic depth.
Step 2: Prepare Aromatics for Paste (10 minutes)
Slice the galangal thinly, cutting across the grain. Galangal's firm texture benefits from cross-grain slicing to aid the mortar's breaking action.
Cut the lemongrass stalks into 1-inch pieces, then crush lightly with the side of your knife to help release aromatic oils.
Peel and roughly chop the garlic cloves into 2-3 pieces each.
Peel and halve the shallot.
Remove seeds from the Thai chilies if you prefer less heat (the seeds and interior are significantly spicier). Chop roughly.
Arrange all prepared aromatics on your cutting board in small piles for easy access to the mortar and pestle.
Step 3: Create the Red Curry Paste (8 minutes)
Using a mortar and pestle (the traditional method), begin with the toasted coriander and cumin seeds. Grind them further into a fine powder, releasing more of their oils.
Add the shrimp paste (kapi, if using) and work it into the seeds with the pestle, using a circular grinding motion for about 1 minute. The shrimp paste adds umami depth essential to the dish. (Omit for vegan preparations.)
Add the garlic cloves and crush against the mortar bottom repeatedly, using circular motions, for 2 minutes until broken down to fine pieces.
Add the galangal pieces and continue crushing and grinding for 2 minutes. Galangal requires patience—keep pressing firmly against the mortar.
Add the lemongrass and shallot. The mortar should be increasingly full. Grind and crush for 2 minutes until the mixture becomes fragrant and slightly pasty.
Add the chopped Thai chilies and continue grinding for 1 minute, incorporating them fully.
Add the white pepper and stir thoroughly.
The final paste should be chunky but cohesive, with no large pieces remaining. It should smell intensely aromatic—citrusy from lemongrass, peppery from galangal, spicy-floral from chilies, and funky-deep from shrimp paste (if used).
Step 4: Heat and Temper the Curry Paste (5 minutes)
Heat 2 tablespoons coconut oil in a large heavy-bottomed pot over medium-low heat until shimmering (approximately 120°C / 250°F).
Transfer the entire curry paste from the mortar to the hot oil. Listen for a gentle sizzle—this indicates proper temperature. If too cool, the paste steams; if too hot, it burns.
Stir continuously with a wooden spoon for 3-4 minutes, allowing the paste to "toast" in the oil. This crucial step blooms the dried spices and develops deeper, more complex flavors.
The paste will darken slightly and smell increasingly fragrant. You're looking for a rich, deep aroma—not acrid or burned.
Step 5: Build the Braising Liquid (4 minutes)
Pour approximately ½ can (200ml) of the coconut milk into the pot with the toasted paste. Stir immediately and vigorously for 30 seconds, creating an emulsion.
This initial addition is crucial—the coconut milk calms the heat of the paste while dissolving it into a cohesive sauce.
Add 1 tablespoon fish sauce (or soy sauce for vegetarian version) and 1½ tablespoons palm sugar. Stir well to combine completely.
The mixture should smell deeply savory-sweet, with balanced heat starting to emerge.
Continue cooking for 2 minutes, stirring frequently. The sauce should darken slightly as the spices continue releasing oils into the coconut milk.
Step 6: Rinse and Add Black Beans (3 minutes)
While the curry base develops, drain the canned black beans through a fine mesh strainer and rinse thoroughly under cold running water for 1 minute. This removes starches that cause cloudiness, bitterness, and interference with flavor absorption.
Drain completely by gently shaking the strainer.
Stir the curry sauce once more, then add the rinsed black beans directly to the pot. Stir to coat all beans with the curry mixture.
The beans should be evenly distributed and partially submerged in the curry sauce.
Step 7: Add Stock and Begin Braising (30-35 minutes)
Pour 1 cup of vegetable stock (or water) into the pot. Increase heat to medium-high.
Add the remaining tamarind paste concentrate (3 tablespoons), remaining fish sauce (1 tablespoon), and ½ teaspoon sea salt. Stir well.
Bring the mixture to a gentle boil (small bubbles breaking surface, not a rolling boil). This takes approximately 3-4 minutes.
Once boiling, reduce heat to medium-low, maintaining a gentle simmer. Stir occasionally with a wooden spoon.
The beans should begin softening after 10 minutes. Check at the 15-minute mark by tasting a bean—it should be tender but not falling apart.
Continue simmering for a total of 20-25 minutes. The braising time allows beans to absorb the surrounding sauce completely.
After 20 minutes of braising, add the remaining coconut milk (200ml from the second half of the can) along with ¼ teaspoon white pepper. Stir well.
The sauce should be thick and creamy, coating a spoon. Beans should be submerged in this rich broth.
Step 8: Optional Additions (5 minutes)
If adding tofu, mushrooms, bell pepper, or zucchini, add them now (approximately 5 minutes before the end of cooking).
Stir gently to combine. These vegetables and tofu will cook in the residual heat and absorb the braising liquid's flavors.
Continue simmering until all additions are tender (approximately 4-5 minutes).
Step 9: Final Seasoning and Aromatics (3 minutes)
Once beans are completely tender and flavors are well-developed, taste the broth and adjust seasonings. The flavor should be balanced: salty, sweet, spicy, and sour in roughly equal measure.
Add additional fish sauce (½ tablespoon at a time) if too sweet, tamarind (½ teaspoon at a time) if too salty, palm sugar (½ tablespoon at a time) if too sour/salty.
Tear the kafir lime leaves directly into the pot (avoid the center vein if possible). They will release aromatic oils into the sauce.
Stir in the fresh lime juice (1½ tablespoons) just before serving. Lime juice added very late preserves its brightness and aromatic quality.
If using fresh spinach, stir it in now. It will wilt in 1-2 minutes from the residual heat. If using Thai basil, add it as a garnish after plating.
Step 10: Plate and Serve (3 minutes)
Ladle the braised black beans with their rich broth into serving bowls, ensuring each portion has plenty of beans and sauce.
Top each bowl with chopped green onions.
Sprinkle fresh cilantro leaves generously over the top.
Arrange thin slices of fresh Thai red chilies on the surface for visual appeal and adjustable heat.
If desired, top with a small handful of crispy fried shallots for textural contrast.
Serve immediately with jasmine rice or sticky rice alongside for a complete meal.
Provide lime wedges for guests to add additional brightness if desired.
Expert Tips
Black Bean Quality and Preparation: Use high-quality canned black beans or cook dried beans from scratch. Canned beans are convenient and consistent. Always rinse canned beans thoroughly to remove starches that cloud the broth and interfere with flavor. Drain well before adding to the curry.
Tamarind Paste Concentration: Tamarind paste concentrate is essential for this dish. The sour, slightly funky depth of tamarind is what distinguishes Thai braised beans from simple curried beans. Tamarind juice or "extract" lacks this complexity. One tablespoon of concentrate equals approximately 3 tablespoons of fresh tamarind pulp.
Shrimp Paste Optional But Valuable: Shrimp paste (kapi) provides umami depth that's nearly impossible to replicate. A small amount (1 tablespoon) is sufficient. For vegan preparations, omit and increase salt to ¾ teaspoon. The dish will be flavorful but slightly less complex.
The Mortar and Pestle Technique: While a food processor speeds up the paste-making, the mortar and pestle creates a coarser paste with better texture and more pronounced individual flavors. The slight grittiness adds character and authenticity. Consider this investment worthwhile.
Don't Rush the Paste-Blooming Step: Toasting the curry paste in the hot oil develops deeper, more complex flavors that distinguish authentic Thai cooking from quick approximations. This 3-4 minute step cannot be skipped without compromising results.
Gentle Simmering is Essential: Black beans break down quickly if boiled aggressively. Maintain a gentle, barely-bubbling simmer throughout braising. The low heat also allows flavors to meld gradually, creating more integrated, complex results.
Variations
Northern Thai Version with Peanuts: Add 3 tablespoons of ground roasted peanuts during Step 5 (when creating the braising liquid). Top with crushed peanuts and crispy fried chilies instead of shallots. This creates an earthier, richer version popular in Chiang Mai.
Green Curry Black Beans (Keang Kiaw Wan): Substitute green chilies for red chilies in the paste, reduce tamarind to 1½ tablespoons, and add 2-3 whole shallots (halved) during braising. Green curry is lighter, fresher, and popular in Central Thai provinces.
Isaan-Style Spicy Black Beans: Use 8-10 Thai chilies (seeds included) instead of 3-4, and add 1 tablespoon of fermented fish curry (nam pla wan). Increase fish sauce to 2 tablespoons and reduce palm sugar to ¾ tablespoon. Top with crushed roasted peanuts and dried chilies. This Northeastern version is earthier and significantly spicier.
Slow-Cooker Version: After browning the curry paste and adding initial coconut milk and seasoning, transfer to a slow cooker with stock and black beans (already added). Cook on low for 3-4 hours or high for 1.5-2 hours. This reduces active cooking time but may result in slightly less concentrated flavors as liquid doesn't reduce as much.
Sweet Potato and Black Bean Braise: Add 2 medium sweet potatoes (cut into 1-inch cubes) along with the beans. The natural sweetness of sweet potato complements the tamarind beautifully and creates a heartier, more substantial dish.
Storage Instructions
Refrigerator Storage: Thai braised black beans keep exceptionally well. Store in an airtight container for up to 6 days. The flavors actually deepen as the components meld overnight. Reheat gently over low-medium heat, adding a splash of water or stock if the broth has thickened significantly.
Freezer Storage: Freeze in airtight containers or freezer bags for up to 4 months. Black beans maintain their texture through freezing better than most dishes. Thaw overnight in the refrigerator and reheat gently on the stovetop.
Reheating Instructions: Transfer frozen or refrigerated beans to a saucepan and heat over low-medium heat, stirring frequently for 5-8 minutes. If the broth is too thick, add ¼ cup of stock or water at a time until reaching desired consistency. Taste and adjust seasonings after reheating, as flavors can become muted during storage.
Make-Ahead Options: The curry paste can be made up to 3 days ahead and refrigerated in an airtight container. The completed dish can be made through Step 7 (after adding the second portion of coconut milk) and refrigerated for up to 3 days before the final seasoning and aromatics are added.
Serving Suggestions
Traditional Thai Meal: Serve with jasmine rice and a fresh Thai salad (som tam or larb) on the side
Noodle Bowl: Ladle over soft rice noodles for a warming, comforting one-bowl meal
Bread Accompaniment: Serve with crusty Thai bread or roti for dipping into the rich broth
Light Lunch: Serve in smaller portions as an appetizer before grilled vegetables or tofu
Soup Course: Serve with extra broth for a Thai bean soup experience
Picnic-Ready: Pack in a thermos and serve alongside rice cakes and fresh vegetables for outdoor dining
Frequently Asked Questions
Q: Can I use fresh black beans instead of canned?
A: Yes. Cook 1 pound dried black beans until just tender (approximately 1½-2 hours), then use in place of canned. Fresh-cooked beans may require slightly different braising time—test for desired tenderness at the 20-minute mark rather than 25 minutes. The flavor will be slightly more delicate than canned but still excellent.
Q: How do I make this recipe vegan?
A: Replace fish sauce with soy sauce or tamari in equal quantities, and omit the shrimp paste (add ½ teaspoon additional salt instead). All other ingredients are plant-based as written. The dish will be slightly less umami-rich but still deeply flavorful.
Q: My beans are too soft and falling apart. What went wrong?
A: Braising time was too long, especially if acids (like tamarind and lime) were added early. Black beans are delicate. Solution: Check tenderness at the 15-minute mark and reduce cooking time accordingly. Add acids only at the final stages. Alternatively, use dried beans cooked to a firmer stage before braising begins.
Q: Can I use different types of beans?
A: Yes. Pinto beans, kidney beans, or chickpeas all work. Each has slightly different braising times: chickpeas require 30-35 minutes, kidney beans 25-30 minutes, pinto beans 20-25 minutes. Start checking at the earlier times and adjust accordingly.
Q: What if I can't find galangal or lemongrass?
A: Galangal can be replaced with fresh ginger (use ¾ the quantity, as ginger is spicier). Lemongrass has no true substitute—it's worth sourcing via Asian markets or online retailers. However, adding 1 tablespoon of fresh lime zest to the paste provides some citrus brightness if lemongrass is unavailable.
Affiliate Disclosure
This page contains affiliate links to recommended cookware, ingredients, and specialty items. When you make a purchase through these links, we earn a small commission at no additional cost to you. These recommendations are based on genuine product use and effectiveness in creating authentic Thai recipes.
Shop Recommended Equipment for Thai Braised Black Beans →
Ingredient Substitution Guide
Whether you're working around dietary restrictions, allergies, or simply using what's available in your kitchen, these substitutions work well in this thai preparation:
Kidney beans: Similar size and heartiness. Red kidney beans add visual drama while maintaining the same cooking characteristics.
Pinto beans: Creamier when cooked and slightly milder in flavor. An excellent choice for refried bean preparations.
Lentils (black or green): Smaller and cook faster. Use black lentils for the closest visual match and reduce liquid by about 1/4 cup.
Chickpeas: Firmer texture that holds up well in hearty dishes. Chickpeas have a nuttier flavor but absorb seasonings similarly.
When substituting, always taste and adjust seasoning as you go. Different proteins and ingredients absorb and carry flavors differently, so what works perfectly with black beans may need tweaking with your substitute.
Common Mistakes to Avoid
Even experienced cooks stumble with braised black beans. Here are the pitfalls to watch for:
Lifting the lid too often: Every peek releases heat and moisture. Trust the process and resist checking more than once or twice during the entire braise.
Using too much liquid: Braising liquid should come only one-third to halfway up the food. Too much liquid turns a braise into a boil, resulting in less concentrated flavor.
Skipping the initial sear: Browning builds flavor through the Maillard reaction. Sear on all sides over high heat before adding liquid for the braise.
Keeping the heat too high: A braise should barely simmer, not boil. High heat toughens proteins and evaporates liquid too quickly. Maintain a gentle bubble.
Not being patient enough: Rushing a braise produces tough results. Low and slow is the rule. The connective tissues need time to break down into gelatin.
Avoiding these common errors will dramatically improve your results. The difference between good and great often comes down to these small details that many cooks overlook.
Make-Ahead and Meal Prep Tips
This recipe is excellent for meal preparation. Here's how to get the most out of your batch cooking:
Refrigerator storage: 5-7 days in an airtight container. Black beans reheat perfectly. They actually taste better the next day as flavors meld. Add a splash of water and warm over medium heat.
Freezer storage: Up to 6 months. Season beans when reheating rather than when cooking for meal prep. This gives you flexibility to use the same batch for different cuisines.
Batch cooking strategy: Soak and cook dried beans in large batches. Freeze in 1.5-cup portions (equivalent to one can) with cooking liquid for convenience.
Reheating for Best Results
The biggest mistake in meal prep is aggressive reheating that overcooks the protein. Black beans reheat perfectly. They actually taste better the next day as flavors meld. Add a splash of water and warm over medium heat. For packed lunches, consider bringing components separately and assembling fresh. The texture stays better when sauces and garnishes are added at eating time rather than stored together.
Seasonal Adaptations
Thai cooking balances flavors with seasonal awareness. Spring brings the mango harvest for fresh salads and sticky rice desserts alongside fragrant lemongrass at its most aromatic. Summer's intense heat calls for cooling som tum (papaya salad), refreshing tom yum with seasonal herbs, and coconut-based curries. Autumn means fresh galangal, kaffir lime leaves, and the rice harvest season. Winter brings milder temperatures perfect for rich northern Thai curries like khao soi.
Adapting this recipe to the seasons doesn't just improve flavor — it often reduces cost since in-season produce is more abundant and affordable. Visit your local farmers' market for the freshest seasonal ingredients that will elevate this dish.
Scaling This Recipe
Need to feed more people or cooking for just yourself? Here's how to adjust:
When halving this recipe, keep cooking temperature the same but reduce time by about 25%. Less food means less thermal mass, so it heats through faster.
For doubling, use a larger vessel rather than cooking two batches when possible. Proteins cook more evenly in a single batch with proper spacing.
Seasoning does not scale linearly. When doubling, start with 1.5 times the seasoning and adjust to taste. When halving, use about 60% of the original amount.
Cooking times change when scaling up. A doubled recipe in the same vessel needs 15-25% more time, not double. Monitor closely and use a thermometer.
As a general rule, taste frequently when scaling. Your palate is the best guide for getting the balance right at any batch size.
*Published: December 20, 2025 | Last updated: January 19, 2026*