Doi Maach
A gentle Bengali fish curry where mustard oil, yogurt, and warm spices come together in a light, silky gravy. The fish stays tender while the yogurt gives the dish its signature tang and richness without feeling heavy.
For 4 servings
- prep · ~10 min
Season the fish and whisk the yogurt.
1.Rub the fish pieces with turmeric powder and a small pinch of the salt.2.Set the fish aside for 10 minutes.3.Whisk the yogurt in a bowl until completely smooth so it does not split later.4.Keep the onion paste, ginger paste, garlic paste, and slit green chili ready.TIPUse thick yogurt at room temperature for a smoother gravy. - fry · ~4 min
Lightly fry the fish.
Heat the mustard oil in a pan until it reaches smoking point, then lower the heat. Fry the fish pieces lightly for about 1 minute per side, just until the surface is sealed. Remove and keep aside.
TIPDo not fully cook the fish here; it finishes in the gravy and stays tender. - saute · ~6 min
Cook the whole spices and onion paste.
1.In the same pan, add bay leaf, cinnamon, green cardamom, and cloves.2.Cook for 20 to 30 seconds until fragrant.3.Add the onion paste and cook on medium heat until it turns light golden and loses its raw smell.4.Stir often so the paste does not catch at the bottom. - saute · ~2 min
Add the ginger, garlic, and ground spices.
1.Add the ginger paste and garlic paste to the pan.2.Cook for 1 minute until fragrant.3.Add red chili powder, coriander powder, sugar, and the remaining salt.4.Mix well and cook for another 30 seconds on low heat. - mix · ~3 min
Stir in the yogurt carefully.
Lower the heat and add the whisked yogurt gradually, stirring continuously so the sauce stays smooth. Cook gently for 2 to 3 minutes until the gravy looks well blended.
TIPKeep the heat low while adding yogurt to prevent curdling. - simmer · ~4 min
Add water and bring the gravy to a gentle simmer.
Pour in the warm water and mix until smooth. Add the slit green chili and let the gravy come to a gentle simmer for 3 to 4 minutes.
- simmer · ~6 min
Finish cooking the fish in the gravy.
Slide the fried fish pieces into the pan and spoon some gravy over them. Cover and simmer on low heat for 5 to 6 minutes, until the fish is cooked through and the flavors come together.
TIPMove the fish gently with a spoon so the pieces do not break. - garnish · ~2 min
Sprinkle garam masala and rest briefly.
Turn off the heat and sprinkle the garam masala over the curry. Let it rest for 2 minutes before serving so the whole spices and yogurt gravy settle together.
- serve
Serve the Doi Maach hot.
What to keep in mind.
7 tips from the recipe — small details that make a real difference to the final dish.
- 1Bring the whisked yogurt to room temperature before adding it, or the gravy is more likely to split.
- 2Smoke the mustard oil first, then lower the heat; this softens its raw pungency without losing its Bengali character.
- 3Only sear the fish briefly in step 2 so it stays intact and finishes cooking gently in the yogurt gravy.
- 4Cook the onion paste until the raw smell disappears and it turns light golden, or the curry can taste harsh and muddy.
- 5Add the yogurt little by little while stirring constantly on low heat for the smoothest, silkiest sauce.
- 6Use warm water, not cold, when thinning the gravy so the yogurt emulsion stays stable.
- 7Let the curry rest for a couple of minutes after the garam masala goes in; the fish firms up slightly and the gravy tastes rounder.
Adapt it for your goals.
Low-oil
Shallow-sear the fish in less mustard oil and use a nonstick pan; you still get the mustard aroma with a lighter finish.
bonelessBoneless
Use firm boneless fillets for easier serving, especially for children or guests who prefer not to deal with fish bones.
spicierSpicier
Add an extra slit green chili or a little more red chili powder for a sharper heat that still fits the yogurt-based gravy.
hilsa styleHilsa-style
Make it with hilsa if available for a richer, more traditional Bengali character, adjusting handling gently because the fish is delicate.
Why this is on our healthy list.
Protein-Rich Main Dish
Fish and yogurt make this curry satisfying and rich in protein, helping turn it into a substantial meal.
Fermented Dairy Goodness
Yogurt adds tang, creaminess, and beneficial fermented dairy elements while keeping the gravy lighter than a cream-based curry.
Moderate Spice Profile
The seasoning relies more on warm whole spices, ginger, and mustard oil than heavy chili heat, making the dish flavorful without being overwhelming.
Frequently asked questions
Usually the heat was too high or the yogurt was added too quickly. Use smooth room-temperature yogurt, keep the flame low, and stir continuously as you add it.



