Bengali Doi Maach (Fish in Yogurt Sauce) Recipe

Display of fresh fish at a local fish market
Gary Yeowell / Getty Images
Ratings (37)
  • Total: 3 hrs
  • Prep: 2 hrs
  • Cook: 60 mins
  • Yield: 4 Servings
Nutritional Guidelines (per serving)
694 Calories
55g Fat
14g Carbs
37g Protein
(Nutrition information is calculated using an ingredient database and should be considered an estimate.)

Bengalis savor every meal and are known to buy vegetables and fish fresh every day for their daily menu. Meals last for hours and preparation is a party in and of itself. This Bengali recipe is made for festive occasions, adding it to your repertoire is important to ensuring you have something that's light and aromatic for a large gathering of friends and family including for weddings. Rohu fish is the most common fish used, but, you could also use any other larger fish for the dish. For example, freshwater bass, or buffalo carp work well. You might also consider salmon if the other options are not available. Serve with piping hot, plain boiled rice.


  • 2 pounds (1 kilogram) fish with firm white flesh cut into 1 1/2-inch" thick pieces (Rohu, a kind of carp, works nicely)
  • 1 tablespoon ginger paste
  • 1 tablespoon garlic paste
  • 1 medium-sized onion ground to a paste
  • 1 cup yogurt
  • 1/2 teaspoon turmeric powder
  • 1/2 teaspoon red chili powder
  • 4 tablespoons mustard oil
  • 3 cloves
  • 5 black peppercorns
  • 2 green cardamom
  • 1-inch stick of cinnamon
  • 1/2 dried bay leaf
  • 1 large onion chopped fine

Steps to Make It

  1. Mix the yogurt with the onion paste, red chili powder, turmeric, ginger and garlic pastes and blend. Add the fish pieces to this and gently mix to coat well. Marinate for 2 hours.

  2. Heat 3 tablespoons of the mustard oil on medium heat, in a deep pan until hot. Add the whole spices - cloves, cardamom, cinnamon, bay leaf and peppercorns - and fry until slightly darker. Now add the chopped onion and fry until transparent.

  3. Add the marinated fish and the marinade and mix gently but well. Season with salt as required. Stir occasionally. Do this gently to avoid breaking the pieces of fish. Cook until fish is done.

  4. Garnish with the remaining mustard oil, drizzle over the dish and serve with piping hot plain boiled rice.

Cooking Tips and Ingredient Substitutions

If the other fish options above don't fashion you, you could also use mahi-mahi. The thickness of this fish will make the gravy thick. Also, while adding yogurt to the gravy, be sure to add it slowly, in small amounts, to avoid any mishap. This will make the gravy smooth. Garnish the recipe of with cilantro sprigs and/or coriander. The last thing to consider is allowing the dish some time to sit for flavors to meld. To add spice, add red chilies to the garam masala.