This Goan Fish Curry from scratch is a quick and healthy Indian-inspired dish packed with tender white fish fillets simmered in a velvety, aromatic coconut sauce. Served alongside fragrant saffron basmati rice enriched with ghee, it delivers a perfectly balanced meal that feels rich yet light. Ready in just 30 minutes, it’s ideal for busy weeknights without compromising on authentic flavor.
Why You’ll Love This Recipe
Ready in just 30 minutes from start to finish
Made completely from scratch with fresh, wholesome ingredients
Layered spices create deep, authentic flavor
Light yet satisfying thanks to flaky fish and basmati rice
Naturally gluten-free
Perfect balance of creamy coconut, warm spices, and delicate saffron
Great for both weeknight dinners and special occasions
Ingredients
(Tip: You’ll find the full list of ingredients and measurements in the recipe card below.)
Saffron rice
1 cup basmati rice
2 cups water
1 pinch saffron threads
1 tablespoon ghee butter
Marinated fish
500 grams white fish fillet (such as blue cod or any firm flaky fish)
1 teaspoon cooking oil
1/2 teaspoon grated ginger
1/2 teaspoon grated garlic
1/4 teaspoon turmeric powder
1 pinch chili powder
1/2 teaspoon salt
Curry paste
1 tablespoon cooking oil
1/2 teaspoon grated ginger
1/2 teaspoon grated garlic
1 cup chopped onion
1/2 teaspoon fennel seeds
1/2 teaspoon cumin seeds
1/4 teaspoon turmeric powder
1 green chili, chopped and seeds removed
2 tablespoons fresh grated coconut
1/2 cup tomato passata or 2 medium tomatoes, finely chopped
Additionally
1 to 2 teaspoons cooking oil
1 sprig curry leaves
1/4 cup finely minced onion
1/2 teaspoon garam masala powder
1 1/2 cups water
Salt to taste
2 tablespoons fresh coriander leaves, chopped
Directions
Prepare the saffron rice. Rinse the basmati rice several times until the water runs clear to remove excess starch. Soak for 30 minutes if time allows, then drain.
In a medium pot, bring 2 cups of water and the rice to a boil. Crush the saffron threads using a mortar and pestle, mix with a few tablespoons of hot water from the pot, then return it to the rice. Add the ghee butter.
Cover with a tight-fitting lid, reduce heat to low, and cook for 15 to 20 minutes until the water is absorbed and the rice is tender. If needed, add a few tablespoons of water and cook a little longer. Remove from heat and let it rest covered for 5 minutes. Fluff gently with a fork.
Marinate the fish. In a bowl, combine the fish fillets with oil, ginger, garlic, turmeric, chili powder, and salt. Mix gently and set aside.
Prepare the curry paste. Heat 1 tablespoon oil in a sauté pan over medium heat. Add chopped onion and green chili, cooking until soft. Stir in grated coconut, cumin seeds, fennel seeds, and turmeric. Cook until fragrant, about 1 minute. Add tomato passata and cook for another minute.
Transfer the mixture to a blender and blend into a smooth paste, adding a splash of water if needed.
Sear the fish. Heat a pan over medium heat and lightly sear the marinated fish for a few minutes on each side. The fish does not need to be fully cooked at this stage.
Build the curry. In a sauté pan, heat 1 to 2 teaspoons oil. Add minced onion and curry leaves, cooking until soft. Stir in the prepared curry paste and garam masala. Bring to a gentle boil.
Add 1 1/2 cups water and simmer until the gravy thickens slightly and the oil begins to separate. Season with salt to taste.
Gently place the seared fish into the gravy without stirring too much. Simmer for 5 to 7 minutes until the fish is fully cooked and tender.
Serve the curry hot with saffron rice and garnish with fresh coriander leaves.
For a creamier sauce, add 2 tablespoons of coconut milk at the end of cooking.
Replace fresh coconut with 2 tablespoons soaked cashews blended into the paste for a slightly richer texture.
Use shrimp instead of fish fillets for a seafood variation. Adjust cooking time to avoid overcooking.
Add diced vegetables such as bell peppers or spinach for extra nutrition and color.
For extra heat, keep the seeds in the green chili or add an additional pinch of chili powder.
Storage/Reheating
Store leftover curry in an airtight container in the refrigerator for up to 2 days. Keep rice stored separately for best texture.
To reheat, warm the curry gently on the stovetop over low heat until heated through. Add a splash of water if the sauce has thickened too much.
Rice can be reheated in a pan with a tablespoon of water, covered, over low heat, or in the microwave until warm.
Freezing is not recommended for best texture, as fish can become slightly dry after thawing.
FAQs
Can I use frozen fish fillets?
Yes, but thaw them completely and pat dry before marinating to avoid excess water in the curry.
What type of fish works best?
Firm, flaky white fish such as cod, haddock, snapper, or blue cod works very well.
Is soaking basmati rice necessary?
It is optional but recommended. Soaking helps the grains cook evenly and become fluffier.
Can I substitute brown basmati rice?
Yes, but increase the cooking time and water slightly, as brown rice takes longer to cook.
What if I don’t have fresh coconut?
You can use 2 tablespoons of desiccated coconut soaked in warm water for 10 minutes, or soaked cashews blended smooth.
How do I know when the fish is cooked?
The fish should flake easily with a fork and appear opaque throughout.
Can I make this curry ahead of time?
You can prepare the curry sauce ahead, but add and cook the fish just before serving for best texture.
Is this dish very spicy?
It is moderately spiced. You can reduce or increase chili to suit your taste.
Why does the oil separate in the curry?
Oil separating from the gravy indicates that the spices and paste have cooked properly and developed flavor.
Can I skip the saffron in the rice?
Yes, but saffron adds aroma and color. Without it, you will still have flavorful basmati rice with ghee.
Conclusion
This Goan Fish Curry with saffron rice brings together fresh ingredients, layered spices, and simple cooking techniques to create a deeply satisfying meal in just 30 minutes. The tender fish, aromatic coconut gravy, and fragrant basmati rice make it a balanced dish that feels both comforting and refined. Whether you’re new to Indian cooking or looking for a reliable weeknight favorite, this recipe delivers authentic flavor with ease.
A quick and flavorful Goan-style fish curry made from scratch with tender white fish simmered in a spiced coconut gravy, served alongside fragrant saffron basmati rice enriched with ghee.
Author:Sophia
Prep Time:10 minutes
Cook Time:20 minutes
Total Time:30 minutes
Yield:3 servings
Category:Dinner
Method:Stovetop
Cuisine:Indian
Diet:Gluten Free
Ingredients
Saffron Rice:
1 cup basmati rice
2 cups water
1 pinch saffron threads
1 tablespoon ghee
Marinated Fish:
500 grams white fish fillet (such as blue cod or firm flaky fish)
1 teaspoon cooking oil
1/2 teaspoon grated ginger
1/2 teaspoon grated garlic
1/4 teaspoon turmeric powder
1 pinch chili powder
1/2 teaspoon salt
Curry Paste:
1 tablespoon cooking oil
1/2 teaspoon grated ginger
1/2 teaspoon grated garlic
1 cup chopped onion
1/2 teaspoon fennel seeds
1/2 teaspoon cumin seeds
1/4 teaspoon turmeric powder
1 green chili, chopped and seeds removed
2 tablespoons fresh grated coconut
1/2 cup tomato passata or 2 medium tomatoes, finely chopped
Additionally:
1 to 2 teaspoons cooking oil
1 sprig curry leaves
1/4 cup finely minced onion
1/2 teaspoon garam masala powder
1 1/2 cups water
Salt to taste
2 tablespoons fresh coriander leaves, chopped
Instructions
Rinse basmati rice until water runs clear. Soak for 30 minutes if time allows, then drain.
Bring 2 cups water and rice to a boil. Crush saffron, mix with a little hot water, and add to the pot along with ghee. Cover and cook on low for 15–20 minutes until tender. Rest 5 minutes and fluff.
In a bowl, marinate fish with oil, ginger, garlic, turmeric, chili powder, and salt. Set aside.
Heat oil in a sauté pan. Cook chopped onion and green chili until soft. Add coconut, cumin seeds, fennel seeds, and turmeric. Stir briefly, then add tomato passata. Cook 1 minute.
Blend the mixture into a smooth paste, adding a splash of water if needed.
Sear marinated fish lightly on both sides for a few minutes; it does not need to cook through.
In a pan, heat oil and sauté minced onion with curry leaves until soft. Stir in curry paste and garam masala. Bring to a gentle boil.
Add 1 1/2 cups water and simmer until slightly thickened and oil begins to separate. Season with salt.
Gently place fish into the gravy and simmer 5–7 minutes until fully cooked and opaque.
Garnish with fresh coriander leaves and serve hot with saffron rice.
Notes
Add 2 tablespoons coconut milk at the end for a creamier sauce.
Soaked cashews can replace fresh coconut for richness.
Shrimp can substitute fish; reduce cooking time accordingly.
Adjust chili for preferred spice level.
Store curry up to 2 days in the refrigerator; reheat gently.
Freezing is not recommended for best fish texture.