My grandfather kept a small pond behind his house, more mud than water by the end of summer, and the koi fish that came out of it were treated like a minor festival. Koi are famously stubborn creatures — they survive in puddles and paddy fields where no sensible fish would stay — and my grandmother swore that stubbornness was exactly why they tasted so good. Her rule never changed in fifty years: the fish goes in whole, the oil must be mustard, and nobody touches the pan until the gravy shines. This tel koi recipe is hers, scaled down from pond-side quantities to a family dinner, and it still follows every one of her rules.
Tel means oil, and the name is honest: this dish is defined by its gravy, a short, dark, glossy sauce with a slick of mustard oil gleaming on its surface. Koi — the climbing perch — has firm, sweet, almost meaty flesh that stands up to bold seasoning without falling apart, which is why Bengali cooks reach for it when a curry needs presence. There is no tomato here, no cream, no long parade of powdered spices. Cumin, ginger, green chillies and that unmistakable mustard oil do all the talking, and the fish, fried crisp before it ever meets the sauce, keeps its shape and its dignity to the last bite.
Why This Tel Koi Recipe Works
Tel koi fails in predictable ways — the fish breaks, the oil tastes raw and harsh, or the gravy turns into a puddle that drowns the plate. This tel koi recipe is built around five habits that prevent all three:
- The fish is seasoned and rested before frying. A rub of turmeric and salt, left on for fifteen minutes, seasons the flesh through and draws out surface moisture, so the skin fries firm instead of steaming soft.
- The fish fries crisp before it sees any gravy. That golden crust is armour: a well-fried koi simmers in sauce and comes out whole, while an unfried one sheds flakes into the gravy and arrives in pieces.
- The mustard oil is heated until it just smokes, then taken off the fierce heat. Raw mustard oil is harsh enough to water your eyes. Brought to its smoking point — around 480°F — and then allowed to settle for half a minute, it turns mellow and nutty, and flavours the whole dish instead of fighting it.
- Cumin and ginger carry the gravy, nothing more. Tel koi is not a masala contest: cumin, ginger and green chillies give the sauce warmth and depth, then step aside and let the fish taste like fish.
- The gravy is kept short, and a spoon of raw oil finishes it. A coating sauce, not a soup — it clings to the fish and leaves a glossy trail on the rice. A final teaspoon of raw mustard oil, stirred in off the heat, restores that fresh pungent top note the cooking softened.
Ingredients
The star here is the climbing perch, sold as koi at South Asian fish counters — look for bright-eyed, firm-bodied fish, and ask the fishmonger to scale, gut and clean them for you — koi scales are armour-plated and the fish is famously slippery. The second non-negotiable is real mustard oil, the cold-pressed kind labelled for cooking, which gives this tel koi recipe its golden colour and its signature nose-tingling warmth. Everything else is pantry regulars, and that is deliberate: this is village cooking, built on what a pond-side kitchen has.
Serves 4
For the fish:
- 2 whole koi fish (about 1 1/2 pounds total), scaled, gutted and cleaned — or 4 small koi
- 1 teaspoon ground turmeric
- 1 teaspoon fine salt
- 1/2 cup mustard oil, for frying (a neutral oil works, but read the FAQ first)
For the gravy:
- 3 tablespoons mustard oil (the strained frying oil is traditional and delicious)
- 1 teaspoon cumin seeds
- 2 bay leaves
- 1 medium onion, very thinly sliced (about 1 cup)
- 1 tablespoon ginger paste
- 2 teaspoons ground cumin
- 1 teaspoon ground turmeric
- 1/2 teaspoon red chilli powder
- 4 fresh green chillies, slit lengthwise
- 1 teaspoon sugar
- Fine salt, to taste
- 1 cup warm water
- 1 teaspoon raw mustard oil, to finish
- Lemon wedges, to serve
How to Make This Tel Koi Recipe – Step by Step
Step 1: Score, season and rest the fish. Rinse the cleaned koi and blot every trace of moisture off them with paper towels, because damp skin steams in the pan instead of crisping. Cut two shallow diagonal slashes into the thickest part of each side; this helps the seasoning in and the heat through. Rub the turmeric and salt all over, working a little into the slashes and the belly cavity, and leave the fish on a plate for 15 minutes while you slice the onion and measure out the spices. That short rest does quiet work: the surface dries further, and dry skin is what makes a crust instead of a soggy one.
Step 2: Fry the fish until deeply golden. In a wide, heavy pan, heat the mustard oil over medium-high heat until the surface shimmers and the first thin curl of smoke appears — that is the sign the oil has shed its raw bite. Slide the fish in gently, away from you, and leave them untouched for 3 minutes; the crust needs time to set before it releases from the pan. Fry for 3 to 4 minutes a side, turning once with a wide spatula, until both sides are deep gold and the edges crisp. Lift the fish out onto a plate. Strain the frying oil if you are using it for the gravy, and wipe out any burnt crumbs from the pan.
Step 3: Bloom the spices and soften the onion. Set the same pan back over medium heat with the 3 tablespoons of mustard oil. Add the cumin seeds and bay leaves; when the seeds darken a shade and smell warm and toasty, about 30 seconds, add the sliced onion with a pinch of salt. Cook, stirring now and then, for 7 to 8 minutes, until the onion is soft and turning golden at the edges. Stir in the ginger paste and fry for 1 minute, until the raw smell lifts, then add the ground cumin, turmeric, red chilli powder and sugar with a splash of warm water so the powders do not scorch. Fry for 2 minutes, stirring steadily, until the masala darkens and smells rich rather than raw.
Step 4: Build the short, glossy gravy. Pour in the rest of the warm water, add the slit green chillies and salt to taste, and bring everything to a lively simmer. Let the gravy bubble, uncovered, for 4 to 5 minutes, until it has reduced a little and a sheen of oil begins to gather at the edges. Taste it now, before the fish goes back, and adjust — it should be punchy and a touch saltier than you want the finished dish, because the fish will drink some of it in. It should pour like thin cream; if it looks watery, bubble it another minute, and if it has thickened too far, loosen it with a spoonful of water.
Step 5: Return the fish, finish with raw oil, and rest. Lower the fried koi into the gravy side by side and ladle the sauce over each one. Cover the pan and simmer on the lowest heat for 5 to 6 minutes, turning the fish once, very gently, halfway through. You are not really cooking the fish now — it is already done — you are letting it soak up the gravy while the gravy takes on the flavour of the fish. Off the heat now: trickle the final teaspoon of raw mustard oil over the fish, then cover the pan and let everything rest for 5 minutes. Serve straight from the pan, with the glossy sauce spooned over each fish.
Serving Suggestions
This tel koi recipe asks for plain steamed rice and almost nothing else — white rice is the canvas that lets that dark, gleaming gravy show off. Spoon the sauce over the rice first, lay the fish on top, and eat it the Bengali way, with your fingers, flaking the flesh away from the bones and mashing it gently into the oily rice. A wedge of lemon and a raw green chilli on the side is the traditional garnish, and a simple onion and cucumber salad is the only accompaniment my grandmother ever allowed.
If you are building a full Bengali fish meal, tel koi sits at the rich, fiery end of the table. Start lighter with my macher jhol, the everyday fish curry in a thin, soothing gravy that Bengali homes eat when they want comfort, and bring out tel koi as the bold second act. And on a day when the fish counter has hilsa instead of koi, my shorshe ilish scratches the same mustard itch in a different way — steamed, sharper, and silkier. Either way, keep the rest of the table simple: the mustard oil is the loudest voice in the room, and it deserves to be.
Storage and Reheating
Leftover tel koi keeps in the fridge, covered, for up to 2 days — fish curries are best eaten soon, and this one is no exception. That said, the flavour on the second day is genuinely deeper, because the firm koi flesh drinks in the cumin and mustard overnight without going mushy. Keep the fish in its gravy in a shallow container so it stays coated, and bring it out of the fridge 20 minutes before reheating so the chill is off it.
Warm it back up in a lidded pan on the gentlest heat, with a splash of water around the edges, just until the fish steams through — 5 minutes is plenty. A fierce reheat tightens the flesh and can split the gravy, and the microwave heats the edges long before the centre, so the stovetop is worth the small effort. Freezing is possible for up to a month, but the onion in the gravy softens further and the fish loses some of its fried dignity; this tel koi recipe is at its best fresh, the way pond fish was always meant to be eaten.
Frequently Asked Questions
What is koi fish, and what can I substitute if I cannot find it?
Koi is the climbing perch, a freshwater fish common across Bengal and much loved for its firm, sweet flesh and the rich fat under its skin. Outside South Asian fish markets it can be hard to find. The best substitutes are other firm freshwater fish sold whole — tilapia, small sea bass or rainbow trout all work well. Whatever you choose, pick a fish that can be fried whole and hold together, and avoid delicate fillets, which will not survive the gravy.
Why does my mustard oil gravy taste harsh or bitter?
Almost always, the oil was not heated properly. Mustard oil has to be brought to the edge of smoking before anything goes into it; that heat burns off the raw, throat-catching compounds and leaves the flavour nutty and warm. If the oil went in lukewarm, the harshness stays in the finished dish. The other culprit is scorched spices — ground cumin and turmeric burn fast in hot oil, so add them with a splash of water and keep them moving, the way this tel koi recipe directs.
Can I make tel koi with a neutral oil instead of mustard oil?
You can, and the curry will still be good — but it will not quite be tel koi, because the mustard oil is the flavour, not just the cooking medium. If mustard oil is genuinely unavailable, use a neutral oil and stir a teaspoon of smooth Dijon mustard thinned with a little water into the gravy at the resting stage; not the same, but it gestures in the right direction. One bottle from an Indian grocery will see you through many fish curries.
Why did my koi break apart in the gravy?
The fish was almost certainly under-fried, or it went into the gravy wet. A firm golden crust is what holds a whole fish together through simmering, so fry it a minute longer than feels polite, pat it dry before it ever meets the oil, and once it is in the gravy, turn it only once, with a wide spatula. Boiling the gravy hard instead of simmering it gently will also batter a fish apart — keep the bubbles lazy and the koi will stay whole.
Recipe Summary
- Prep time: 20 minutes, plus 15 minutes resting the fish
- Cook time: 30 minutes
- Total time: About 1 hour 5 minutes
- Servings: 4
- Cuisine: Pakistani
- Course: Main Course
