Soups & Stews
This Bangladeshi soup recipe brings the comforting warmth of a Macher Jhol or Shobji Shorisha to your kitchen, where fragrant lemongrass and creamy coconut merge into a savory, aromatic broth that feels like a hug in a bowl. 🌿 The secret lies in slow simmering—letting flavors meld over 30 minutes until the lemongrass releases its citrusy depth and the coconut milk adds velvety richness.
Unlike many quick soups, this one rewards patience with layers of umami and brightness that transport you to the streets of Dhaka or Chittagong.
The recipe balances simplicity with tradition, using easy-to-find ingredients like fish (or tofu for a vegetarian version), radishes, and potatoes, all simmered in a broth infused with garlic, ginger, and mustard oil. The coconut milk and lime juice at the end create that signature tangy-sweet finish that defines Bangladeshi soups.
Whether you're making it for a family dinner or a cozy weeknight meal, the aroma alone will have everyone gathering around the table.
What makes this soup special is its versatility—it works as a light lunch with steamed rice or a hearty dinner with crusty bread. The fish (or tofu) stays tender, the vegetables retain their bite, and the broth is rich enough to sip straight from the bowl.
For authenticity, garnish with fresh cilantro and a drizzle of mustard oil, but don’t skip the lime—it’s the soul of the dish. This is comfort food at its finest, where every spoonful tells a story.
Ready to make it? The process is straightforward: sauté the aromatics, add the broth and vegetables, simmer until tender, and finish with coconut milk and lime. The hardest part will be waiting for the first taste—trust me, it’s worth it. Let’s get cooking!
Ingredients for bangladeshi soup
Easy-to-find ingredients that transform into a fragrant, comforting Bangladeshi hug-in-a-bowl.
| Ingredient | Amount | Notes |
|---|---|---|
| White Fish Fillets 🐟 | 1 ½ lb | Firm white fish like cod or tilapia |
| Coconut Milk 🥥 | 1 ½ cups | Full-fat for creaminess |
| Lemongrass Stalks 🌿 | 4 whole | Bruised and cut into 2-inch pieces |
| Fresh Cilantro 🌿 | ½ cup | Chopped, for garnish |
| Garlic Cloves 🧄 | 6 cloves | Minced for aromatic base |
| Ginger Root 🌿 | 2 tbsp | Freshly grated |
| Mustard Oil 🫒 | 2 tbsp | For authentic flavor |
| Red Radishes 🥕 | 1 cup | Sliced into thin rounds |
| Russet Potatoes 🥔 | 1 ½ lb | Cubed into 1-inch pieces |
| Lime Juice 🍋 | 2 tbsp | Freshly squeezed |
| Vegetable Broth 💧 | 4 cups | Low-sodium preferred |
| Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Ground Black Pepper 🌶️ | ½ tsp | Freshly cracked |
| Vegetable Oil 🫒 | 1 tbsp | For sautéing aromatics |
| Cumin Seeds 🌿 | ½ tsp | Toasted lightly |
The fish is key here—firm white fillets like cod or tilapia stay tender. If you can't find fresh, frozen works too (thaw in the fridge overnight). For the lemongrass, look for bright green stalks at the grocery store—avoid any that feel woody or dried out. Mustard oil is non-negotiable for authenticity, but if you can't find it, toasted sesame oil gives a similar depth. The coconut milk should be full-fat (none of that light stuff)—it makes all the difference in that creamy finish. I grab mine from Trader Joe's or Costco since it's cheaper in bulk.
No lemongrass? Lime zest plus a splash of lime juice gets you close, though it won't be identical. Running out of radishes? Substitute with daikon or even carrots—just adjust the cooking time slightly. The potatoes can be any variety, but russets hold up best to long simmering. For extra umami, add a dash of fish sauce (or soy sauce for vegetarian), but don't skip the lime at the end—it's what ties everything together. The broth? Store-bought is fine, but homemade with vegetable scraps elevates the whole dish.
This soup tastes even better the next day—double the batch if you're feeding a crowd. Store leftovers in the fridge for up to 4 days or freeze for 3 months. The fish will stay moist if you reheat it gently over low heat. For serving, I always drizzle a little extra mustard oil on top—trust me, it's worth it. Garnish with fresh cilantro right before eating so it stays vibrant. The aroma alone will have everyone at the table begging for seconds.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this soup—just toss everything in one pot, simmer, and walk away. The fish flakes apart effortlessly, and the lemongrass infuses the coconut milk without any straining or fuss.
- Umami Bomb: That garlic and cilantro combo? It’s next-level. The fish soaks up the flavors like a sponge, while the coconut milk keeps it rich but never heavy—bright, herbal, and just salty enough.
- Weeknight Wonder: Make a double batch on Sunday, and you’ve got lunch covered for days. The soup reheats beautifully, and the fish stays tender—no sad, rubbery leftovers here.
- Budget Bright Spot: White fish is affordable, and coconut milk stretches far. I’ve fed four people for under $15, and honestly? They’d never guess it was this easy—or this good.
Step-by-step instructions for Bangladeshi lemongrass coconut soup
This fragrant soup comes together with layers of flavor—start with the aromatics and build to creamy perfection.
🍳 Step 1: Toast the Spices and Sauté Aromatics
Heat the 1 tablespoon vegetable oil in a large pot over medium heat. Add the 0.5 teaspoon cumin seeds and toast for 30 seconds until they release their nutty aroma and begin to sizzle gently. You'll smell it immediately—that's your cue they're ready.
Add the 2 tablespoons mustard oil and let it warm through for 1 minute—this oil carries the authentic flavor. Then add the 6 cloves minced garlic and 2 tablespoons freshly grated ginger root, stirring constantly for 1-2 minutes until fragrant but not browned. The ginger should soften slightly but still retain its bright color—this ensures it infuses flavor without bitterness.
🍳 Step 2: Cook the Potatoes and Radishes
Add the 1.5 pounds cubed russet potatoes and 1 cup sliced red radishes to the pot. Pour in the 4 cups vegetable broth and bring to a gentle boil. Reduce heat to medium-low and let simmer uncovered for 10-12 minutes until the potatoes are fork-tender and the radishes soften slightly.
Here's the thing—you want the potatoes to be tender but not falling apart. Test by piercing a cube with a fork—it should offer slight resistance. If the broth reduces too quickly, add ½ cup water to maintain the right consistency. The radishes should soften but still hold their shape to add texture.
🥘 Step 3: Build the Lemongrass Base
Add the 4 whole lemongrass stalks (cut into 2-inch pieces) and 1.5 teaspoons salt to the pot. Simmer for another 5 minutes to allow the lemongrass to release its citrusy aroma into the broth. The stalks will soften but should still be identifiable—they'll infuse flavor without becoming mushy.
Now stir in the 1.5 cups coconut milk and 0.5 teaspoon ground black pepper. Let the mixture simmer gently for 8-10 minutes until the coconut milk is fully incorporated and the soup thickens slightly. You're looking for a velvety texture—not too thin, but not heavy either. If it gets too thick, whisk in 2-3 tablespoons water to reach your desired consistency.
🍳 Step 4: Cook the Fish to Perfection
Gently add the 1.5 pounds white fish fillets to the simmering soup. They should float just below the surface. Simmer for 4-5 minutes until the fish is just cooked through—it should flake easily with a fork but still hold together slightly. Overcooking will make it dry and crumbly.
Watch the fish carefully in the last minute. The edges should turn opaque, and the center should still look slightly translucent. If you're unsure, cut into one fillet—it should be moist and tender. Remove the fish with a slotted spoon and set aside, leaving the broth in the pot.
🍽️ Step 5: Finish and Serve
Return the pot to low heat and stir in the 2 tablespoons lime juice. Let it simmer for 1 minute to brighten all the flavors. The lime juice will cut through the richness of the coconut milk and add a refreshing finish.
Ladle the soup into bowls and arrange the fish fillets on top. Garnish each serving with 2 tablespoons chopped fresh cilantro. Serve immediately while the fish is warm and the broth is steaming—this soup is best enjoyed fresh from the pot. The contrast of creamy coconut, bright lemongrass, and tender fish makes every spoonful a little taste of Bangladesh.
Pro Tips For Making Bangladeshi Soup
- STEAM THE LEMONGRASS FIRST: Split the stalks lengthwise and blanch them in boiling water for 30 seconds before adding to the pot—this softens the fibers and releases more aroma. I used to skip this, and the soup always tasted like I’d forgotten half the flavor.
- SIMMER COCONUT MILK LOW: Heat coconut milk on medium-low after adding it, or it’ll curdle like a science experiment gone wrong. My grandmother swore by this, and she was right: patience here means creamy, not lumpy.
- PAT DRY THE FISH: Wipe the fillets with paper towels before cooking—moisture steams them instead of sears them, and you’ll end up with sad, gray fish. Trust me, the difference is night and day.
- SAVE THE CILANTRO STEMS: Chop the stems finely and toss them in at the end—they’re packed with flavor and make the soup taste deeper. I was skeptical until I tried it, and now I never waste them.
Essential equipment for this dish
Large Pot or Dutch Oven
This soup requires a large, heavy-bottomed pot or Dutch oven to handle the long simmering time without scorching. I recommend a 5-6 quart pot—the extra capacity prevents overflow and gives room for the aromatics to develop fully.
A stainless steel or enameled cast iron pot distributes heat evenly, which is crucial for tender fish and evenly cooked vegetables. My go-to is a Le Creuset Dutch oven (it’s pricey but lasts forever), but any good-quality pot will work. 🔥
Immersion Blender
For a silky-smooth texture, an immersion blender is a game-changer. After simmering, blend the soup directly in the pot for 15-20 seconds to break down the potatoes and radishes slightly while keeping the fish intact.
If you don’t have one, a regular blender works—just transfer the soup in batches (don’t overfill!) and blend until smooth, then return it to the pot. I use a Ninja QN301 for its durability and ease of use.
Fine-Mesh Strainer
A fine-mesh strainer helps remove lemongrass stalks and any unwanted bits before serving, leaving a clean, elegant broth. I like the OXO Good Grips—it’s sturdy and easy to clean.
If you’re serving the soup immediately, you can skip straining, but it’s worth it for leftovers or when you want a smoother texture. Pro tip: Press the lemongrass gently against the strainer to extract every drop of flavor. 🌿
Slotted Spoon
A slotted spoon is essential for gently removing the fish fillets from the broth without breaking them apart. Look for one with a long handle (like the OXO Good Grips Slotted Spoon) to avoid burning your fingers.
This tool also helps skim any foam or impurities from the surface during simmering. Trust me, it makes plating and serving a breeze.
Mustard Oil Bottle
Mustard oil is the soul of this soup, but it’s potent—store it in a small, dark glass bottle to preserve its flavor and prevent oxidation. I keep mine in a 16-ounce amber glass bottle from Trader Joe’s (it’s affordable and works perfectly).
Mustard oil has a strong aroma, so store it in a cool, dark place away from other foods. A dropper or small spoon helps measure 2 tablespoons precisely without spills.
Lime Juicer or Reamer
Fresh lime juice is non-negotiable for that bright, tangy finish. A handheld lime juicer (like the OXO Good Grips) makes this step effortless—just roll, cut, and squeeze. If you’re using whole limes, a microplane works too, but it’s messier.
For 2 tablespoons of juice, you’ll need about 1 lime. Always use freshly squeezed juice—bottled lime juice lacks the depth this dish needs. 🍋
Nutrition facts
Frequently asked questions
Can I make this soup vegetarian?
Replace the fish with 1.5 pounds firm tofu (pressed and cubed) or chickpeas for a protein boost. For extra flavor, marinate the tofu in 1 tablespoon mustard oil and 1 teaspoon turmeric for 15 minutes before adding it to the soup. The cooking time remains the same—just 4-5 minutes to heat through.
Why does my soup taste bitter?
Bitterness usually comes from overcooked ginger or garlic, or simmering too long. To fix it, balance the flavors by adding 1 extra tablespoon lime juice or a pinch of sugar. For prevention, sauté ginger and garlic just until fragrant (1-2 minutes) and avoid boiling the soup—keep it at a gentle simmer.
How can I make this soup spicier?
Add ½ teaspoon red chili powder or 1-2 sliced green chilies when sautéing the aromatics. For heat lovers, stir in 1 teaspoon cayenne pepper with the coconut milk. Remember, mustard oil already has a bold flavor—start with small amounts and adjust to taste.
Can I prepare this ahead of time?
Yes! This soup tastes even better the next day. Store in an airtight container in the fridge for up to 4 days. Reheat gently on low heat, adding 2-3 tablespoons water if it thickens too much. For freezing, cool completely first, then freeze for up to 3 months. Thaw overnight in the fridge before reheating.
What's the secret to keeping the fish tender?
Don't overcook! Fish should cook for only 4-5 minutes in the soup. Use a meat thermometer to check—it should read 140°F at its thickest part. Remove it when the edges are just opaque but the center still looks slightly translucent. Adding fish at the end (after 20 minutes of simmering) also helps.
