Nepalese Fish Curry with Tomato and Warming Spices

Updated November 4, 2026

Total time
50 min
prep 20 min · cook 30 min
Serves
4
portions as written
Safe temperature (USDA)
145°F / 63°C
check the thickest piece

Jump to recipe

Nepalese Fish Curry with Tomato and Warming Spices

Nepalese fish curry is a gently simmered curry of fish, tomatoes, ginger, garlic, and fragrant spices; fish dishes are especially familiar in Nepal’s southern Terai region. This practical version builds a savory tomato sauce with cumin, coriander, and a little mustard oil, then finishes the fish in the sauce so it stays tender. Recipes vary by locality and household, so the spice level and ingredients can be adjusted to taste.

Ingredients

  • 1½ lb firm white fish fillets (680 g), skin removed if preferred, cut into 1½-inch (4 cm) pieces; cod, tilapia, catfish, or basa all work.
  • 1 tsp fine salt (5 g), divided, plus more to taste.
  • ½ tsp ground turmeric (1 g), divided.
  • 2 tbsp mustard oil (30 ml), or neutral canola oil (30 ml) if mustard oil is unavailable.
  • 1 medium yellow onion (about 150 g), finely chopped.
  • 1 tbsp finely grated fresh ginger (15 g).
  • 3 garlic cloves (about 9 g), finely chopped or grated.
  • 2 medium tomatoes (about 300 g), chopped, or 1 cup canned diced tomatoes (240 g).
  • 1 tsp ground cumin (2 g).
  • 1 tsp ground coriander (2 g).
  • ½ tsp ground paprika (1 g), sweet or hot according to preference.
  • ¼ tsp chili powder (about 0.5 g), or less for a mild curry.
  • ¼ tsp fenugreek seeds (about 0.5 g), optional but pleasantly bitter and aromatic.
  • 1 cup water or unsalted fish stock (240 ml), plus a little more if needed.
  • 1 tbsp chopped fresh cilantro (4 g), plus extra for serving.
  • 1 tbsp lemon juice (15 ml), or to taste.

Instructions

  1. Prepare the fish and aromatics. Pat the fish dry and check it for any remaining pin bones. Sprinkle it with ½ tsp of the salt and ¼ tsp of the turmeric, turning the pieces to coat. Leave it for 8 minutes while you chop the onion and tomatoes, grate the ginger, and measure the spices. This short rest seasons the fish; it is not a long marinade. Keep raw fish and its utensils separate from ready-to-eat ingredients.
  2. Warm the oil and briefly sear the fish. Heat the mustard oil in a wide, heavy skillet or shallow saucepan over medium heat for 1–2 minutes, until it is shimmering. If using mustard oil, heat it just until it begins to shimmer and then reduce the heat; avoid letting it smoke. Add the fish in a single layer, working in batches if needed. Cook for about 1 minute on each side, just until the surfaces are opaque and the pieces release fairly easily. They do not need to be cooked through yet. Transfer them to a clean plate. If the pan looks dry, add 1 tsp oil.
  3. Soften the onion. Add the chopped onion to the same pan and cook over medium heat for 6–8 minutes, stirring regularly. It should soften and turn lightly golden at the edges, not dark brown. If it starts sticking before it softens, stir in 1 tbsp water. The onion gives the sauce body, so give it enough time rather than rushing this step over high heat.
  4. Bloom the aromatics and spices. Stir in the ginger and garlic and cook for 30 seconds, just until fragrant. Add the cumin, coriander, paprika, chili powder, remaining ¼ tsp turmeric, and optional fenugreek seeds. Stir constantly for about 20–30 seconds. The spices should smell fragrant, not scorched; if they catch on the pan, add a splash of water immediately.
  5. Make the tomato sauce. Add the tomatoes and the remaining ½ tsp salt. Cook for 6–8 minutes, stirring and gently breaking up the tomatoes, until they soften and the mixture thickens. Pour in the water or fish stock and scrape up any flavorful browned bits from the pan. Bring the sauce to a gentle simmer, then cook for 3–4 minutes. It should be loose enough to simmer the fish but not watery. Add another splash of water if it has become very thick.
  6. Finish the curry gently. Slide the fish and any juices from the plate into the sauce. Spoon sauce over the pieces, cover the pan, and simmer gently for 5–8 minutes, depending on the thickness of the fish. Avoid vigorous boiling and frequent stirring, which can break up the fillets; instead, tilt the pan and spoon sauce over the top. Check the thickest piece with a food thermometer: USDA FSIS sets 145°F (63°C) as the safe minimum internal temperature for fish. If it has not reached that temperature, continue cooking briefly and check again.
  7. Season and serve. Turn off the heat and fold in the cilantro and lemon juice. Taste the sauce and adjust the salt, lemon, or chili to suit your table. Let the curry stand for 2 minutes so the sauce settles, then serve while hot. If you prefer a thinner curry for rice, stir in a little hot water before serving.

Tips

  • Choose fish that holds together. Firm fillets are easiest to sear and simmer without falling apart. If using a delicate fish, skip the searing step and nestle the raw pieces directly into the gently simmering sauce; allow enough time for them to reach 145°F (63°C) at the thickest point.
  • Use mustard oil thoughtfully. It gives the curry a sharp, distinctive aroma. Where it is hard to find, canola oil or another neutral cooking oil works, but the finished sauce will taste milder and less pungent. Do not substitute a strongly flavored finishing oil unless you want its flavor to stand out.
  • Keep the simmer gentle. A rolling boil can make fish tough and cause the pieces to break apart. Once the fish goes into the sauce, keep the heat low and check early if your pieces are small or thin.
  • Adjust chili and acidity at the end. Chili powders differ in heat, so begin with the measured amount and add more only after tasting. Lemon brightens the tomato sauce; add it gradually, since extra acidity can overpower the spices.

Serving Suggestions

Serve the curry hot with steamed basmati rice, another long-grain rice, or plain roti to catch the tomato sauce. A side of sautéed greens, sliced cucumber, or lightly dressed cabbage brings a crisp contrast without competing with the spices. For a fuller meal, add lentils or a simple vegetable dish and keep the curry as the centerpiece. Put extra cilantro and lemon wedges on the table so each person can finish their portion as they like.

If serving guests, transfer the fish carefully with a broad spoon and pour the sauce around it rather than stirring repeatedly in the serving dish. The recipe makes four moderate portions when served with rice and sides; for larger appetites, increase the rice or add another side instead of crowding the pan with extra fish. If doubling the curry, use a wider pan or cook the fish in batches so the pieces have room to sear and simmer evenly.

Variations

Make it milder: Leave out the chili powder and use sweet paprika. The curry will still have warmth from the ginger, garlic, cumin, and coriander, but less heat. For a hotter version, add fresh green chili with the ginger or offer chili at the table rather than making the entire batch very spicy.

Add a traditional-style aromatic: If available, add a small pinch of ground timur, a distinctive, citrusy, tingling spice used in some Nepali cooking. It is not essential to this recipe. A small pinch of ground Sichuan pepper can suggest its bright, numbing character, though it is not an exact match; black pepper adds heat but not the same citrus aroma.

Change the fish or sauce texture: Boneless trout, salmon, or another firm fish can replace the white fish, though richer fish will make the curry taste fuller. For a more substantial sauce, add 1 small diced potato (about 150 g) with the tomatoes and simmer until tender before adding the fish; pour in extra water as needed. Do not add the fish early to compensate, because it can overcook while the potato softens.

Storage and Reheating

Refrigerate leftovers within 2 hours of cooking in a shallow, covered container. The curry keeps for 3–4 days in the refrigerator. Fish can become firmer after chilling, so store it with plenty of sauce and avoid repeatedly warming and cooling the same portion. For longer storage, freeze in an airtight, freezer-safe container for up to 2 months for best quality. Thaw overnight in the refrigerator before reheating; the fish may be more fragile after freezing.

Reheat only the portion you plan to eat, in a covered saucepan over low heat with a tablespoon or two of water. Turn the fish gently once if needed, and heat until the center of the leftovers reaches 165°F (74°C), checking with a food thermometer. You can also reheat a serving in the microwave in short intervals, covered, turning the pieces carefully between intervals so the curry heats evenly. Avoid boiling the sauce hard, which can dry the fish and break it apart.

Frequently Asked Questions

What fish works best for Nepalese fish curry?
Choose a mild, firm fish that can hold its shape in a sauce, such as cod, tilapia, catfish, or basa. Fresh or thawed frozen fillets both work. If the fish is delicate, skip the initial sear and add it directly to the sauce, then cook gently until it reaches 145°F (63°C).

Can I make this curry without mustard oil?
Yes. Use canola oil or another neutral oil in the same quantity. The curry will still be flavorful, but it will lack mustard oil’s sharp, earthy aroma. Do not use an oil that is not intended for cooking; if you find mustard oil sold for culinary use, follow its label and heat it without letting it smoke.

Can I prepare the sauce ahead of time?
Yes. Make the tomato sauce through the simmering step, cool it promptly, and refrigerate it in a covered container for up to 2 days. Reheat it until simmering, then add the fish and cook it until it reaches 145°F (63°C). Cooking the fish just before serving gives it a better texture than storing it in the sauce for several days.

Why did my fish break apart?
It may have been stirred too often, simmered too vigorously, or cooked longer than needed. Use a wide pan, turn pieces as little as possible, and spoon sauce over them rather than stirring. If your fillets are thin or fragile, omit the sear and slide them gently into the sauce near the end.

Is this curry very spicy?
As written, it has mild heat, but chili powder strength varies. For a gentle version, omit the chili powder; for more heat, increase it in small increments or add chopped green chili. Taste the sauce before adding the fish back so you can adjust the seasoning without handling the cooked pieces.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).