Doi maach (literally 'yogurt fish') is a festive Bengali fish curry in which river fish is simmered in a gravy based on yogurt rather than the usual onion-tomato base. It is made across Bengal but is particularly associated with Sylhet and the eastern Bengali tradition. The yogurt gives the curry a creamy, tangy character distinct from other Bengali fish curries: it is lighter in colour, milder in spice, and the tang of the yogurt balances the richness of the fish. Whole fish pieces (ruhu, katla, or local river fish) are lightly fried, then simmered in a paste of yogurt, ginger, garlic, garam masala and green chilies. The dish is made for guests and special occasions, and it is always served with steamed rice.
Creamy, tangy, mild and aromatic, the fish tender in a pale gravy where the yogurt's lactic tang meets the warmth of garam masala. Eaten with rice, each grain soaking up the sauce, it is a refined and gentle Bengali curry.
The technique is a yogurt gravy, cooked gently to prevent curdling. Whole spices (cardamom, cinnamon, bay) are fried in ghee, then a paste of ginger and garlic is added. Yogurt (about 200g, well-beaten) is stirred in and cooked over low heat for 5 minutes, the gentle cooking preventing the yogurt from splitting. Turmeric, red chili powder and salt are added. The lightly fried fish pieces are gently lowered into the yogurt gravy and simmered covered for 10 to 15 minutes. The fish must be handled gently to avoid breaking, and the simmer must be gentle to keep the yogurt smooth. A sprinkle of garam masala and fresh coriander finishes the dish.
Variations
Some add fried onions for a richer base. A version with cream is even milder.
On the Palate
Where Doi Maach Sylhet sits in the Bangladeshi flavor cloud
Ingredients
Serves 6How it's made
5 steps · 25 min
- 14 min
Fry 2 cardamom pods, 1 cinnamon stick and 1 bay leaf in 3 tbsp ghee for 1 minute.
- 26 min
Add 1 tbsp ginger-garlic paste; fry 2 minutes. Stir in 200g beaten yogurt over low heat; cook 5 minutes without boiling.
Watch outBeat the yogurt well and keep the heat low, stirring — let it boil and the yogurt splits into grainy curds and the gravy breaks.
- 34 min
Add 1 tsp turmeric, 1/2 tsp chili powder and salt.
- 46 min
Gently add 600g lightly fried fish pieces; cover and simmer 12 minutes.
Watch outSlide the fried fish in gently and barely simmer — jostle it or boil hard and the delicate pieces break apart in the sauce.
- 54 min
Sprinkle with garam masala and coriander; serve with rice.





