Indian Tilapia Curry with Coconut Milk and Tomato

Updated November 3, 2026

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

Jump to recipe

Indian Tilapia Curry with Coconut Milk and Tomato

This Indian-style tilapia curry pairs tender fish with a gently spiced coconut-tomato sauce, served warm over rice or with flatbread. Coconut-based curries are common in parts of coastal South India, though ingredients and methods vary by region and household; this practical version uses pantry spices and cooks quickly.

Ingredients

  • 1½ lb tilapia fillets (680 g), fresh or fully thawed
  • 1 tsp fine salt (6 g), divided
  • ¼ tsp ground black pepper (0.5 g)
  • 2 tbsp neutral oil, such as canola (30 ml)
  • 1 medium yellow onion (about 150 g), finely chopped
  • 1 tbsp finely grated fresh ginger (15 g)
  • 3 garlic cloves (about 9 g), finely minced
  • 1 small green chile (about 5 g), finely chopped, optional
  • 8 fresh curry leaves (about 2 g), optional
  • 1 tsp cumin seeds (2 g)
  • 1 tsp ground coriander (2 g)
  • ½ tsp ground turmeric (1.5 g)
  • 1 tsp Kashmiri chile powder (2 g), or 1 tsp sweet paprika plus a pinch of cayenne
  • ½ tsp garam masala (1 g)
  • 1 tbsp tomato paste (16 g)
  • 1 can diced tomatoes, preferably no-salt-added (14.5 oz / 411 g)
  • 1 can full-fat coconut milk (13.5 oz / 400 ml), shaken or stirred
  • ½ cup water (120 ml)
  • 1 tsp packed brown sugar (4 g), optional, to balance tart tomatoes
  • 1 tbsp fresh lime juice (15 ml)
  • 2 tbsp chopped fresh cilantro leaves and tender stems (about 8 g)

Instructions

  1. Pat the tilapia dry with paper towels and check for any pin bones. Cut the fillets into roughly 2-inch (5 cm) pieces so they cook evenly. Season gently on both sides with about half the salt and all the black pepper. Keep the pieces in a single layer on a plate while you prepare the sauce; they do not need a long marinade.
  2. Set a wide, deep skillet or sauté pan over medium heat and add the oil. When it shimmers, add the chopped onion and cumin seeds. Cook for 8 minutes, stirring often, until the onion is soft and translucent with a few lightly golden edges. If the pan starts to scorch before the onion softens, lower the heat and add a spoonful of water.
  3. Stir in the ginger, garlic, green chile if using, and curry leaves if using. Cook for 1 minute, stirring continuously, until fragrant. Keep the aromatics moving so the garlic does not brown heavily or turn bitter. Curry leaves are a fragrant South Asian ingredient; if unavailable, omit them rather than adding dried herbs. A small bay leaf can add a different, woodier aroma, but it is not an exact substitute.
  4. Add the ground coriander, turmeric, Kashmiri chile powder, garam masala, and the remaining salt. Stir for about 30 seconds, then mix in the tomato paste and cook for another 30 seconds. Briefly heating the spices and paste in the oil brings out their aroma. If using paprika and cayenne instead of Kashmiri chile, add the cayenne sparingly and adjust the heat at the table.
  5. Pour in the diced tomatoes, coconut milk, water, and brown sugar if using. Scrape the base of the pan to loosen any browned bits, then bring the sauce to a gentle simmer. Cook uncovered for 10 minutes, stirring occasionally. The sauce should thicken slightly but remain loose enough to spoon over rice. If it becomes thicker than you like, add water a tablespoon or two at a time.
  6. Lower the heat so the sauce bubbles gently. Nestle the tilapia pieces into it in a single layer, spooning a little sauce over the tops. Cover the pan and simmer for 6 to 8 minutes, depending on the thickness of the fish. Avoid stirring, which can break the pieces apart; gently shake the pan once if needed to redistribute the sauce.
  7. Check a thick piece of fish with an instant-read food thermometer inserted into its center. The USDA FSIS safe minimum internal temperature for fish is 145°F (63°C). The flesh should also look opaque and separate easily with a fork. If it has not reached temperature, cover and cook for another minute, then check again. Turn off the heat, stir in the lime juice, and scatter the cilantro over the curry. Taste the sauce and adjust salt or lime before serving.

Tips

  • Dry the fish first. Blotting away surface moisture helps the seasoning cling and keeps excess water from thinning the sauce. If using frozen tilapia, thaw it overnight in the refrigerator, then pat it dry; do not thaw it on the counter.
  • Keep the simmer gentle. A hard boil can make fish fall apart and may cause coconut milk to look split or grainy. A little separation is not a safety concern, but steady low heat and occasional gentle movement make a smoother-looking curry.
  • Choose a suitable chile. Kashmiri chile powder brings red color and mild-to-medium warmth. Sweet paprika gives color but little heat, so add cayenne gradually if you want more spice. Chile strength varies, and you can leave out the fresh green chile for a milder sauce.
  • Use a wide pan and avoid overcooking. The fish cooks more evenly when pieces are not piled up. Fish continues to soften in hot sauce after the pan leaves the burner, so check it promptly and serve once it reaches the safe temperature.

Serving Suggestions

Spoon the curry over steamed basmati rice, which absorbs the coconut-tomato sauce without competing with its spices. Plain rice is a useful choice if your curry is especially lively with chile; lemon rice or lightly seasoned cumin rice adds more flavor if you prefer a fuller plate. Serve warm naan, roti, or another flatbread alongside for scooping, and offer lime wedges for anyone who wants a sharper finish.

For a balanced meal, add a simple vegetable side such as sautéed green beans, roasted cauliflower, or cucumber slices with a little salt and lime. Keep the side seasoning restrained, since the curry already has ginger, garlic, and warm spices. If serving a group, bring the pan to the table only after checking that the fish is cooked through, and use a broad spoon to lift pieces without breaking them.

Variations

Make it dairy-free: The recipe is already dairy-free when prepared with coconut milk and neutral oil. For a lighter sauce, use light coconut milk, but expect a thinner texture and less coconut richness. Avoid substituting a sweetened coconut beverage from a carton; it is much thinner and may sweeten the curry unexpectedly.

Change the fish: Firm white fish such as cod, haddock, or pollock can replace tilapia in the same amount. Thicker fillets may need an extra minute or two, so use the thermometer rather than relying only on the clock. Shrimp can also work; add peeled, deveined shrimp near the end and cook only until opaque and safely cooked through, checking doneness carefully.

Add vegetables or legumes: Stir in a cup of diced bell pepper with the onion, or add a cup of spinach during the final minute so it wilts into the sauce. For a more filling, non-fish variation, fold in rinsed cooked chickpeas and simmer them in the sauce before adding the tilapia; this changes the dish into a mixed curry rather than a fish-only one.

Adjust the flavor profile: For a sharper, less rich sauce, reduce the coconut milk to 1 cup (240 ml) and increase the water by ½ cup (120 ml). For a deeper roasted flavor, cook the onion until golden, taking care not to burn it. The balance of chile, coconut, tomato, and aromatics differs among Indian regional and home-style curries, so adjust gradually to suit your taste.

Storage and Reheating

Transfer leftovers to a shallow, covered container and refrigerate within 2 hours of cooking. Keep the curry at 40°F (4°C) or colder and use it within 3 to 4 days; the fish may soften with storage, so it is often at its best sooner. If the room is warmer than 90°F (32°C), refrigerate leftovers within 1 hour. Do not leave the pan out to cool for an extended period.

Reheat only the portion you plan to eat, either in a covered saucepan over low heat or in a microwave-safe dish in short bursts, stirring the sauce gently between intervals. Add a splash of water if the coconut sauce has thickened. Reheat leftovers to 165°F (74°C), checking with a food thermometer, and avoid repeatedly heating and cooling the whole batch because the fish can become dry and fragile.

For longer storage, freeze portions in airtight freezer containers for up to 2 months for best quality. Thaw in the refrigerator, then reheat to 165°F (74°C). Coconut milk can separate slightly after freezing and thawing; stir gently as it warms. Freeze promptly rather than freezing curry that has already spent several days in the refrigerator.

Frequently Asked Questions

Can I make this curry with frozen tilapia?
Yes. Thaw the fillets completely in the refrigerator, then pat them dry before seasoning and cutting. Cooking them while still frozen can release extra water into the sauce and make it harder to cook the pieces evenly. If the package contains individually portioned fillets, check for pin bones after thawing.

Can I use light coconut milk?
Yes, though the sauce will be less creamy and may feel thinner. Simmer it uncovered for a few extra minutes before adding the fish if it needs to reduce, but do not simmer the fish for extra time just to thicken the sauce. You can also use full-fat coconut milk and add a little water only if the curry is too rich.

How can I tell when tilapia is done?
Use an instant-read thermometer in the center of the thickest piece; fish should reach 145°F (63°C), the USDA FSIS safe minimum. The flesh should be opaque and separate readily with a fork, but appearance alone is less dependable than temperature. Check more than one piece if the cuts vary noticeably in thickness.

Why did my fish break apart?
Tilapia is delicate, and vigorous boiling, frequent stirring, or cooking it too long can make it flake into the sauce. Keep the curry at a gentle simmer, arrange the pieces in one layer, and spoon sauce over them instead of stirring. Lift cooked portions with a wide spatula or serving spoon.

Can I prepare the sauce ahead?
Yes. Make the sauce through the 10-minute simmer, cool it promptly, and refrigerate it in a covered container for up to 3 days. Reheat the sauce until simmering, then add freshly cut fish and cook it to 145°F (63°C). Cooking the fish just before serving gives it a better texture than storing it in the sauce for several days.

What can I use instead of tilapia?
Choose a mild, firm white fish such as cod or haddock, cut into similarly sized pieces. Very thin fillets cook faster, while thick pieces take longer; use the internal temperature as the deciding check. A stronger-tasting fish will give the curry a more pronounced seafood flavor, so keep that in mind when choosing a substitute.

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).