Rohi Macher Kalia
A rich, aromatic Bengali fish curry where thick slices of rohu are cooked in a deep, onion-tomato-yogurt gravy. The fragrance of whole garam masala and ghee takes this festive dish to another level, making it perfect for Sunday lunches or celebrations.
For 4 servings
- prep · ~15 min
Marinate the fish steaks.
1.Rinse the rohu fish steaks and pat completely dry with a kitchen towel.2.Rub the steaks with turmeric powder and a pinch of salt.3.Set aside for 15 minutes while you prepare the other ingredients.TIPDry fish thoroughly — any moisture will cause the oil to splutter dangerously during frying. - prep · ~10 min
Prepare the onion and tomato paste.
1.Roughly chop the onions and blend to a smooth paste with a tablespoon of water. Set aside.2.Blanch the tomatoes in hot water for 5 minutes, peel off the skins, and blend to a smooth puree.TIPPeeling the tomatoes gives the gravy a smoother, more polished texture. - fry · ~5 min
Shallow fry the marinated fish.
1.Heat 3 tablespoons of mustard oil in the kadai until it reaches its smoking point, then cool slightly.2.Gently slide in the fish steaks and fry for about 2 minutes per side until lightly golden.3.Remove with a slotted spoon and drain on paper towels. Do not cook them through all the way.TIPHeating mustard oil to its smoking point and then cooling it reduces its pungency, making the flavor more mellow. - temper · ~1 min
Bloom the whole spices.
1.Add the remaining 2 tablespoons of mustard oil to the same pan and heat it.2.Add the bay leaf, dried red chili, cardamom pods, cloves, and cinnamon stick.3.Let them sizzle and release their aroma for about 30 seconds.TIPEnsure the oil is hot but not smoking when you add the spices, so they crackle instantly and infuse the oil. - saute · ~10 min
Cook the onion-ginger-garlic base.
1.Carefully pour the onion paste into the pan (it will sputter) and stir.2.Add the ginger paste and garlic paste. Cook on medium heat, stirring continuously, for about 8-10 minutes until the paste turns golden brown and the raw smell disappears.3.If the mixture sticks, sprinkle a tablespoon of water to help it cook without burning.TIPThis is the most crucial step. Don't rush — undercooked onion paste will leave a raw taste in the final dish. - saute · ~7 min
Add the tomato puree and spices.
1.Stir in the tomato puree, red chili powder, cumin powder, coriander powder, and the second pinch of salt.2.Add the sugar. Cook on medium heat, stirring occasionally, until the tomatoes break down and oil starts to separate from the sides of the mixture, about 6-8 minutes.TIPThe oil-separation stage means the raw tomato flavor is gone and the spices are properly cooked. - simmer · ~6 min
Simmer the gravy.
1.Lower the heat. Add the whisked yogurt, one spoon at a time, stirring vigorously after each addition to prevent curdling.2.Pour in the 1.5 cups of hot water. Stir well and bring to a gentle simmer.3.Let the gravy bubble away gently for 5-7 minutes until it thickens slightly.TIPAlways use room-temperature yogurt and add it on low heat. Sudden heat can make the yogurt curdle instantly. - simmer · ~9 min
Return the fish to the gravy and finish cooking.
1.Gently slip the fried fish steaks into the simmering gravy.2.Add the slit green chilies. Spoon some gravy over the fish.3.Cover and simmer on a very low flame for 8-10 minutes, or until the fish is fully cooked. Do not stir vigorously or the fish will break.TIPSwirl the pan to mix instead of using a ladle. This keeps the delicate fish pieces intact. - garnish · ~5 min
Finish with ghee and garam masala.
1.Turn off the heat. Sprinkle the garam masala over the top.2.Drizzle with the teaspoon of ghee for that quintessential festive aroma.3.Cover the pan and let it rest for 5 minutes so the flavors meld together.TIPResting is essential. The flavors merge beautifully during this time, creating a deeper, more rounded taste. - serve
Serve hot with steamed rice.
What to keep in mind.
6 tips from the recipe — small details that make a real difference to the final dish.
- 1Always heat mustard oil until it smokes, then let it cool slightly — this tames its sharp pungency and adds a nutty depth.
- 2Pat the fish steaks bone-dry before marinating to prevent oil splatter and ensure a crisp, golden sear.
- 3Cook the onion paste until deep golden brown — undercooking leaves a raw, unpleasant taste in the final gravy.
- 4Add yogurt off the heat, one spoon at a time, stirring constantly to prevent curdling in the hot gravy.
- 5Swirl the pan gently instead of using a ladle when adding fish to the gravy — this keeps the delicate steaks intact.
- 6Let the finished dish rest for 5 minutes after adding ghee and garam masala so the aromas fully meld.
Adapt it for your goals.
Low-oil
Reduce mustard oil to 2 tbsp total — use a non-stick pan for shallow frying the fish and skip the extra oil when blooming spices; instead, bloom them in a teaspoon of ghee. The gravy will be lighter but still aromatic.
mild kids friendlyMild-kids-friendly
Omit the green chilies and red chili powder; add ½ tsp Kashmiri red chili powder for color only. Add 1 tbsp tomato ketchup for a touch of sweetness that appeals to children.
high proteinHigh-protein
Replace 2 tbsp of the water with ¼ cup bone broth or fish stock for an extra protein boost and deeper savory notes. Serve with a side of steamed lentils (dal).
jainJain
Replace rohu fish with firm paneer or potato cubes (parboiled). Omit garlic. Use dairy-free yogurt (soy or almond-based) and skip the onion — use a paste of fennel seeds and asafoetida (hing) for a similar savory base.
Why this is on our healthy list.
Rich in Omega-3 Fatty Acids
Rohu fish is a good source of omega-3s, which support heart health and reduce inflammation.
Probiotic Support from Yogurt
The yogurt in this dish provides live cultures that aid digestion and promote gut health.
Anti-Inflammatory Spices
Turmeric, ginger, and cinnamon contain anti-inflammatory compounds that can help reduce oxidative stress.
Protein-Packed Meal
A single serving of this curry provides a substantial amount of high-quality protein from the fish, essential for muscle repair and satiety.
Frequently asked questions
Yes, use firm, meaty fish like catfish, kingfish, or salmon steaks — avoid delicate fish like tilapia as they will break apart.



