Skip to content

Fish, South and Southeast Asian

Dahi machli with rice

Dahi machli is a Bengali dish of cod simmered in a yogurt sauce flavored with ginger, garlic, and mild spices like cardamom and cinnamon. For 4 people, it takes 40 minutes, it's easy, and it costs €3.90 per person. The key to success is adding the whisked yogurt off the heat, then warming it very gently so it doesn't split.

Tonight, a Bengali dahi machli, soft fish in a creamy yogurt sauce spiced with ginger and cardamom.

Dahi machli with rice
Total time
40 min
Difficulty
Easy
Cost per person
€3.90
Calories per person
570 kcalcalculated by Kiloach, your weight coach
Season
Winter, Spring, Summer, Fall

Dahi machli plays on a simple contrast, the fish stays tender while the sauce wraps every bite in a milky sweetness lifted by ginger and chili. Cardamom and cinnamon season the dish quietly without ever weighing it down, and turmeric gives it that golden color typical of yogurt based curries.

It's a good weeknight dish when you want to move past breaded fish or the usual foil packet, without spending hours at the stove. Think of it as dinner for adults or for kids already used to spiced food, served over basmati rice that soaks up the sauce.

The ingredients

4 people

Fish counter

  • Cod fillets 700 g

Dairy

  • Plain whole milk yogurt 300 g

Fruits and vegetables

  • Onion 2
  • Fresh ginger 25 g
  • Garlic 3 cloves

Pantry

  • Green cardamom pods 4
  • Cinnamon stickoften in the pantry 1 stick
  • Turmericoften in the pantry 1 tsp
  • Chili powderoften in the pantry 1 tsp
  • Sugaroften in the pantry 1 tsp
  • Basmati riceoften in the pantry 300 g
  • Neutral oiloften in the pantry 4 tbsp
  • Saltoften in the pantry 1 pinch
  • Pepperoften in the pantry 1 pinch

Allergens Fish, Lactose

The step by step recipe

  1. Rub the fish with salt and turmeric, sear it for one minute on each side, and set aside. 4 min

    Don't aim for full doneness here, just a light color.

  2. In the same oil, add the cardamom, cinnamon, and sliced onions, and cook until golden. 8 min

    Well browned onions give the sauce its sweetness.

  3. Add the garlic, ginger, and chili powder, cook for two minutes, then turn off the heat. 2 min

    Off the heat, the yogurt won't split.

  4. Stir in the whisked yogurt and sugar, turn the heat back on very low, add a little water, and stir until it just simmers. 5 min

    Stir in the same direction the whole time, it keeps the yogurt from separating.

  5. Slide the fish into the sauce and let it cook covered, while the basmati rice cooks separately. 12 min

    Serve right away, the sauce is silkier when hot.

Our tips to get it right

  • Use plain whole milk yogurt, low fat or fat free yogurt handles heat poorly and splits more easily.
  • Take the fish out of the fridge a few minutes before cooking it, it will brown better and cook more evenly.
  • If the sauce looks too thick after adding the yogurt, thin it with a little hot water rather than cold, so you don't shock the cooking.

The variations

  • Swap the cod for salmon or monkfish, firm fish that hold up well simmering in the sauce.
  • For a vegetarian version, replace the fish with cooked chickpeas or paneer cubes browned the same way.
  • To save time, skip searing the fish and add it raw straight into the hot sauce for a few extra minutes.

What to serve it with

  • Plain basmati rice
  • Naan or chapati bread
  • Crisp cucumber on the side

Storage

Dahi machli keeps for 2 days in the fridge in a sealed container. Freezing isn't recommended, the yogurt tends to separate once thawed. Reheat gently over low heat while stirring, without letting the sauce boil.

Questions about this dish

Can you make the sauce ahead of time?

Yes, you can cook the onion and spice base a day ahead and keep it in the fridge. Add the yogurt and cook the fish just before serving to keep the sauce silky.

Can you replace the yogurt with cream?

Heavy cream works too and splits less easily, but it changes the tangy flavor typical of dahi machli. If you use it, still add it off the heat as a precaution.

Why did my yogurt sauce split?

The yogurt was probably added over heat that was too high, or wasn't whisked enough first. Always whisk the yogurt at room temperature and add it off the heat, then warm it very gently.

Is this dish kid friendly?

It contains chili and ginger, which make it fairly spicy for young palates. You can cut the chili powder in half for a milder version that works better for kids.

How long does it take to make a dahi machli, fish simmered in spiced yogurt, with rice?

Count 40 min in total, prep and cooking included. The recipe is rated “easy”.

How many calories are in a dahi machli, fish simmered in spiced yogurt, with rice?

About 570 kcal per serving, for a recipe meant for 4 people. Calories are calculated by Kiloach, your weight coach, the app that partners with Mon Chou.

How much does a dahi machli, fish simmered in spiced yogurt, with rice cost?

About €3.90 per serving, or €15.60 for 4 people, based on average supermarket prices.

What allergens does this recipe contain?

This recipe contains fish, lactose. Always check the labels of the products you buy.

South and Southeast Asian Cuisines

See all

Recipes with cod

See all