Doi Maach, a traditional Bengali fish delicacy, is made with fresh fish steaks simmered in a yogurt-based gravy and mild spices. The uniqueness of Doi Maach lies in its perfect balance of flavors, creating a memorable culinary experience.

Fish curry in yogurt gravy, popularly known as doi maach, is one of my all-time favorite dishes from my childhood. We always enjoyed it when my mother made this dish. If you are a fish lover, you will enjoy making this doi maach recipe as it is
- Easy-to-prepare
- Prepared in less time
- Made with few ingredients
- Delicious
This dish, which is typically served at celebrations and family gatherings, has a special place in the hearts of Bengalis.
Find more Fish Recipes: Fish Kalia, Aar Macher Recipe, Macher Matha diye Moong Dal
Jump to:
Ingredients
Fish: Fish steaks are the key ingredient of this recipe. For this recipe, you can use fish chunks that are either with bone or boneless.
Curd: I use homemade curd for this dish. Furthermore, I recommend using hung curd for the best results.
Oil: Always use mustard oil for authentic Bengali fish recipes.
Spice Powders: I only use turmeric and red chilli powder for this recipe.
Pastes: Use freshly prepare onion paste, ginger paste and garlic paste for the best outcome.
Whole Spices: Bay Leaf, cinnamon stick, cardamom, clove.
Others: Salt and sugar.
Instructions
Learn how to make doi maach by following the step-by-step instructions below.
As previously stated, I learned this recipe from my mother and followed it exactly as she instructed because it is the best doi maach recipe I have ever had.

Here I do not fry the fish separately instead marinated fish steaks directly get cooked with marinade. If you are frying the fish before then you must try this recipe once, you will definitely stop frying the fish for doi maach.

Marination is an important process of this recipe. Take the fish steaks in a mixing bowl and season them with salt and turmeric powder. Gently rub the seasoning all over the fish pieces so that they are evenly coated.
Next, add yogurt, onion paste, ginger paste, garlic paste, red chili powder, and sugar to the bowl. Mix everything carefully until the fish steaks are well coated with the marinade.
Set aside and let the fish marinate for about 10 minutes so that it absorbs all the flavors.

Heat mustard oil (or cooking oil of your choice) in a pan over medium heat. Once the oil is hot, add the bay leaf, cinnamon stick, green cardamoms, and cloves. Sauté for a few seconds until the whole spices release their aroma.
Carefully add the marinated fish steaks to the pan along with the entire marinade. Add the slit green chilies and gently mix without breaking the fish pieces.

Pour in about ⅔ cup of water and bring the curry to a gentle simmer. Cover the pan and cook over low heat for 20–25 minutes, allowing the fish to cook through and the flavors to meld together beautifully.
Remove the lid occasionally and gently spoon some gravy over the fish. Once the gravy thickens to your desired consistency and you notice oil separating along the edges, switch off the heat.
Finish the dish by adding a dollop of ghee on top for extra richness and aroma. Let it rest for a couple of minutes before serving.
Serve hot with steamed rice, basanti pulao, or any mild pulao for a comforting and flavorful meal.
Serving Suggestions
Like other Bengali fish recipes, serve doi maach with plain white rice as side dish. You can also pair it with basanti pulao, peas paneer pulao, and other pulao recipes.
Top tips
- Avoid marinating fish steaks for an extended period of time; otherwise, the fish steaks will begin to break.
- Always cook this dish under low heat for the best results.
FAQ
Normally, we use larger size (4 to 6 kgs) Katla fish steaks for the recipe, and we can also call it doi katla. You can also use large size Rohu or Rui for Bengali doi maach also known as doi rui. If larger katla or rui are not available, salmon steaks can be used for doi maach.
You Might Also Like
Bengali Doi Maach Recipe | Bengali Fish Curry in Yogurt Gravy
Materials
- 3-4 nos Fish Steaks
- ½ cup Curd (Yogurt) hung curd preferably
- ¼ cup Mustard Oil
- ¼ cup Onion Paste
- 1 teaspoon Ginger Paste
- 1½ teaspoon Garlic Paste
- 2 no Green Chilli
- ½ teaspoon Turmeric Powder
- ⅔ teaspoon Red Chilli Powder
- 1 no Bay Leaf
- 1 inch Cinnamon Stick
- 1-2 no Cardamom
- 1-2 no Clove
- Salt to taste
- ½ teaspoon Sugar
Instructions
- Take fish steaks in a bowl and smear them with salt and turmeric powder.
- Now add yogurt, onion paste, ginger paste, garlic paste, red chili powder and sugar marinate the fish steaks for 10 minutes.
- Heat oil in a pan and add bay leaf, cinnamon stick, cardamom, clove.
- Once the oil is fragrant, add the marinated fishes along with entire marinade. Also, add the green chili now.
- Add ⅔ cup of water and slowly cook under low heat for 20-25 minutes.
- When the gravy thickens and releases oil, remove from the heat and set aside and add a dollop of ghee on top. Later serve with rice or pulao.
PIN to read it later!
Also find us on:
Facebook | | Pinterest | Twitter | Instagram
If you are trying any of our recipes, we would love to see the pictures of your dishes. Tag us in any of our Social Media Handles or use #motionsandemotions. You can also send us your feedback and pictures at: jhumu.here@gmail.com or motionsemotions.here@gmail.com.











Leave a Reply