Doi Mach (Fish in Yogurt Gravy)

Doi Mach (Fish in Yogurt Gravy) | Playful Cooking

Doi meaning yogurt and Mach meaning fish is an authentic yogurt based Bengali fish stew. It is a gently spiced fish curry that is hearty and soul satisfying. Traditionally, doi mach is prepared with long silver river fish from the region but that shouldn’t stop you from trying it with your choice of sea fish. Just make sure you select a meaty fish for the best taste. Bengali meals are almost incomplete without some fish curry/stew and when Mom and Dad visit, I over indulge on these dishes. It’s like reliving those childhood days.

Doi Mach (Fish in Yogurt Gravy) | Playful Cooking

Doi Mach (Fish in Yogurt Gravy) | Playful Cooking

Growing up in a Bengali family meant waking up listening to Rabindra Sangeet playing in the living room and watching Mom frying fishes for lunch. Things have changed a lot now since my parents eat more vegetarian meals, but there was a time when probably just two days in a week, fish was not prepared. One day was Thursday when it was a pure vegetarian meal and then on Sunday, Dad would take on the chef hat to prepare chicken or mutton. Apart from those two days, there was fish in the menu every single day. By teen years, I started disliking the taste of fish.

It was only after several years of staying away from home, not eating that classic everyday Bengali curries and especially, not eating river fish that my palate unexpectedly started craving for it. I would call mom asking for recipes and tips on how I could prepare the same dish with sea fish instead, because those regional river fishes were not available there. When we moved back to India last year, my husband who is not a Bengali was mentally ready to eat more fish then he ever did. He knew how much I was missing those particular dishes.

Doi Mach (Fish in Yogurt Gravy) | Playful Cooking

Doi Mach (Fish in Yogurt Gravy) | Playful Cooking

Unlike sea fishes, river fish has a lot of tiny bones and it’s not possible to eat it gracefully using a fork and spoon. You have to use your hands to pick those bones, as you mix the gravy with steamed white rice. There is an extreme casualness about it and we Bengalis love it!

Doi Mach (Fish in Yogurt Gravy) | Playful Cooking

Doi Mach (Fish in Yogurt Gravy)

Prep Time: 10 minutes
Cook Time: 20 minutes
Total Time: 30 minutes


  • fish steaks, about 1 kg of fish, clean and cut into 2-inch pieces
  • 1 medium red onion, thinly sliced
  • 3 garlic cloves, finely chopped
  • 1 to mato, roughly chopped
  • 1- cup plain greek yogurt
  • 1 cinnamon stick
  • 2 green cardamoms
  • 2 green chilies
  • 1 teaspoon turmeric powder
  • 1 teaspoon cumin powder
  • 1/2 teaspoon sugar
  • salt
  • oil
  • finely chopped fresh cilantro for garnish


  1. Marinate the fish steaks with salt and turmeric and allow it to rest for about 15 minutes.
  2. In a wok or heavy bottom saucepan, heat enough oil to deep-fry the fish steaks. Drop the fish steaks carefully and fry until golden in color. Once done, keep the fried fish aside to be used later.
  3. In a separate pan, heat couple spoons of oil and drop the cinnamon stick along with the cardamom and let it sizzle. Next, scatter the garlic and onion. Season with salt, sprinkle turmeric and let it cook until slight golden brown in color. Now switch off the heat and transfer the cooked onion to a food processor. Leave the cinnamon stick in the pan. In the food processor, add the chopped tomatoes along with the cooked onion and blend it to a smooth paste.
  4. Pour the onion and tomato paste back to the pan and turn on the heat. Sprinkle cumin powder, sugar and let it cook for a couple minutes or until the raw tomato taste is gone. Once done, whisk the yogurt and pour it to the pan. Give a mix and allow it to cook. At this point, if you want more gravy, add water or else, just drop the fried fish steaks to the pan and let it simmer for a few minutes.
  5. Garnish with chopped cilantro and serve warm with steamed rice.


  • Frying the fish steaks is optional. You can add raw fish steaks in the gravy and let it simmer until they’re cooked.
  • Make sure the yogurt is thick and whisked to ensure it doesn't curdle.

Doi Mach (Fish in Yogurt Gravy) | Playful Cooking


Did you enjoy this Doi Mach (Fish in Yogurt Gravy)? Share your creation by tagging @playfulcooking on Instagram with the #playfulcooking and I will re-share in my story!

You Might Also Like

Comments are closed.

  • Rosa
    November 17, 2015 at 6:19 AM

    That fish dish looks really delicious and nourishing! So many great flavours. I wish I could eat your Doi Mach for supper!



  • Cygnet Kitchen
    Cygnet Kitchen
    November 17, 2015 at 10:40 AM

    The only way I can get my husband to eat fish is to cook it with plenty of heat and spices. Love the look of this dish and your updated website, looks fabulous Kankana! x

  • Dolphia Nandi
    Dolphia Nandi
    November 17, 2015 at 2:08 PM

    This doi mach looks so perfect! And seriously no bengali meal can happen without them 🙂

  • Dolphia Nandi
    Dolphia Nandi
    November 17, 2015 at 2:09 PM

    And also you and I have so similar stories! I used to hate fish when I was teen. Also fish for most days except sundays 🙂

  • Edlyn
    November 17, 2015 at 8:32 PM

    I love fish!!! I’m so happy you wrote all of this because I reminded me that I need to eat all of the fish when I’m in Goa next month. My family eats some form of seafood every day. That’s our meat of choice. You can bet I enjoyed myself, eating fish when I was in Calcutta last last year and a few years before. Your photos are beautiful and the site update looks fantastic!! It means you have a little more time to cook and share recipes with is. I’m excited!

  • Ami@NaiveCookCooks
    [email protected]
    November 17, 2015 at 8:48 PM

    I have been looking for fish recipes lately and this one sounds spot on!! Your photographs are awesome as always girl!!

  • angiesrecipes
    November 18, 2015 at 1:19 AM

    So delicious and packed with flavour!

  • Pang {circahappy}
    Pang {circahappy}
    November 18, 2015 at 9:25 AM

    When you wrote, ‘and it’s not possible to eat it gracefully,’ I laugh because it does remind me so much of my family in Thailand. 🙂 This dish makes me homesick, Kankana, because it looks and sounds similar to Thai food, except we used coconut milk/cream instead of yogurt. I am inclined to say that I probably like your version a bit better though (shhh… don’t tell my mom)

    Thank you so much for sharing recipe; I am drooling over you wonderful photos, as I always do.

  • Sugar et al.
    Sugar et al.
    November 18, 2015 at 4:56 PM

    I so enjoyed reading your post and taking in your gorgeous photos because it completely resonated with me, my childhood and family. I am still trying to teach my little boys how to eat fish with their hands..they don’t enjoy it as much as I do but hopefully we will get there:-) Beautiful work Kankana!

  • anita menon
    anita menon
    November 18, 2015 at 9:55 PM

    Book marking this recipe for my fish loving friends. what kind of fish can i use if I don;t get the long silver fish?

    The pictures are just gorgeous!!

  • Nami | Just One Cook
    Nami | Just One Cook
    November 18, 2015 at 11:21 PM

    It’s interesting how we keep our memory about certain dish from childhood and comes back later in life. This looks delicious, Kankana! I love fish all my life and I’d gobble this up immediately! 😀

  • Laura&Nora @Our Food Stories
    Laura&Nora @Our Food Stories
    November 20, 2015 at 2:24 AM

    this sounds and looks sooo delicious!! wish we could have it for lunch now 🙂