This Fish Tahiri recipe is a delicious fusion of traditional Indian/Pakistani spicy rice with an equally spicy fried fish. It screams Delicious! and Comfort! and Friday Lunch!
What is fish tahiri?
Fish tahiri is first and foremost a tahiri. A tahiri, which goes by various names, is a traditional Indian/Pakistani rice dish made with a basic gravy or curry base and then allowing rice to cook in the spiced curry broth.
There are different kinds of Tahiris that people make today. It Started as Aloo tahiri (potato tahiri) and vegetable tahiri, and was used a vegetarian alternative to biryani back in the Mughal Era when poultry had become too expensive for the public to afford. Eventually with time, like with all other food, Tahiri evolved, and people started adding mutton, beef and chicken into the spicy curry base to create new non-vegetarian versions.
A fish tahiri (as called in our house) is a family classic recipe. I’ve personally never seen a similar recipe online or eaten at anyone else’s home so I assume this fusion is very rare. All credit goes to mamma who came up with it and perfected the recipe. I can’t WAIT for you try it! This recipe uses marinated fish, fried in oil and a spicy gravy as a a rice broth base.
Why are there so different names for a Tahiri?
Since this recipe has evolved within different communities over time, it is known by various names. The memon community calls it Akni and use curry leaves in the masala base. Others call it Tehri or Tahari (based on their dialect). Some just learnt the original vegetarian version from their ancestors and call it aloo walay chawal ( rice with potatoes). This difference in naming itself is a natural evolution of recipes that happen within communities of major countries and just goes to show how much power simple changes of spices and techniques can make!
How is tahiri different from Biryani or Pulao?
- Biryanis are distinguished by having LAYERS of white rice and curry and garnishes. The rice and qorma/curry are cooked separately and then assembled.
- Tahiri rice are cooked IN a diluted curry broth giving all the rice grains a uniform yellow color.
- Pulao is made in a less spicy subtle tasting broth, often without the use of turmeric.
Ingredients you need for Fish Tahiri
1. Fish Selection
For this recipe, a white firm fish is a good option to use. I used Hamour which is local fish available here in the Gulf region. Dark fish don’t work well because they already have a strong taste of their own. Here are a couple of fish options you can try, depending on where you live.
- Hamour (brown reef cod)
- Pacific or Atlantic cod
- Striped bass.
- Mackerel including the Kingfish
- Hilsa (Ilish) or Hilsa Herring
- Pacific rockfish
- Alaska pollock,
2. Other ingredients
- Basmati rice – I used basmati rice, which usually requires 20 to 30 mins of soaking time. Always make sure to wash the rice once or twice till the water comes out clean, before soaking it.
- Whole Spices – green and black cardamom, cinamon, carom seeds, black peppercorns, cloves.
- Sliced onions – One of the core ingredients of this dish are sliced onions.
- Powdered spices and garlic ginger paste
- Cooking oil – Any vegetable oil would do. You can also use ghee (clarified butter) or olive oil if you want.
- Tomatoes – I used fresh tomatoes, but you can use canned ones as well. Make sure your tomatoes are finely chopped. I would not recommend using puree or paste for this recipe.
- Garnish – Chopped coriander and green chilies
How to make Fish tahiri – Step by step pictures
Step 1 – Marinate Fish
After you’ve cleaned the fish properly, you need to marinate it. The fish in general is a very tender protein and doesn’t need very long marination times. You simply marinate all the fish in the mentioned spices and let it sit in the fridge or counter for about 30 mins. That’s all it needs. I usually marinate the fish, leave it on the counter, soak rice on the other side and get started on my curry base right away.
PROTIP: Rub the skins of lemon all over your hand after marinating the fish. And see all the smell from the fish disappear magically!
Step 2 – Make the broth base or curry base for Rice
These rice have a uniform yellow color. Which needs a nice well cooked curry base. You start the base by sauteing onions and whole spices in a little oil until they turn light golden. I used very little oil over here because we are going to add more later.
NOTE: Usually Indian/Pakistani curries require a nice brown colored fried onions. For tahiri, you need to stay a level below that. So your onions should only be golden instead of brown. (as seen in the picture)
Then we add tomatoes, garlic ginger paste and spices. Saute everything in oil for about 2 to 3 mins. This step ensures that all the rawness of the garlic, ginger and the spices are fully dealt with.
Add water and cover the pot to let the tomatoes soften up for 10 mins. You will probably not see any oil on the edges since there isn’t much to begin with.
Now we are going to cover the up the pot and set it aside. Bring out the marinated fish and shallow fry it in oil. There isn’t any additional coating involved. You simply put pieces of fish in a preheated pan with oil. Flip it after 4 mins and cook it for 4 mins on the other side. It’ll have a nice golden brown color.
Set your fried fish aside and strain the oil from the pan. Add this oil to your curry base. After adding oil to the broth base, turn on the flame and cook it for about 2 mins before adding the drained rice.
Now add water. Your water level should be 1 inch above the rice. You can check this by inserting your index finger. The water level should touch your first finger joint and the tip should touch the rice. Drop in 4 to 5 green chilies.
This is a good time to do a taste test for salt. The spicy broth should feel well balanced at this point.
Cover the pot and let the rice cook at high flame for 7 to 8 mins. Keep an eye to see if all the water has dried up.
When most of your water has dried up, reduce the flame to low, cover the pot and let the rice cook for another 8 mins at low flame. Ideally, add a flat griddle (tava) below the pot if the bottom isn’t thick. Open the pot and fluff up the rice with a flat spatula or a slotted spoon. Place your fried fish on top of the rice and garnish with chopped coriander. Cover the pot again and let the rice and fish sit together for about 10 mins before serving.
Serve hot with green chutney, raita and salad on the side.
FAQS about Fish Tahiri
What if the rice is still raw after all the water has dried up?
If all your water dries up and your rice still isn’t cooked, add a splash of milk and cook for another 4 mins at low flame.
How long can this stay in the fridge?
You can keep it for upto 4 days in the fridge, making sure you only reheat it once.
My rice became too clumpy. What can I do now?
Clumpy or soggy rice are hard to save. But you can spread them out on a plate and allow them to air dry for a bit.
More Seafood and Rice recipes for you try
Fishi Tahiri | Spicy rice and fish
- 500 gm thin firm white Fish fillets I used hamour (see notes)
- 4 to 5 tbsp lemon juice
- 1/2 tsp carom seed powder ajwain
- 1½ teaspoon red chili powder
- 1/2 tsp turmeric powder
- 1 tsp salt or to taste
- 1 tsp coriander powder
- 1 tsp ginger garlic paste
- oil for frying or grilling
- 5 cloves
- 1 tsp Carom seeds ajwain
- 1 cinnamon stick
- 2 black cardamom
- 5 green cardamom
- 2 star anise badiyan ke phool
- 8 to 9 black peppercorns
- 1/2 kg long grain basmati rice soaked in water for 20 mins 2.5 cup rice
- 1½ teaspoon salt or to taste
- 3/4 tsp turmeric
- 1 tsp red chili powder
- 1 tbsp coriander powder
- 2 medium onions sliced
- 2 medium tomatoes chopped
- 1 tbsp ginger garlic paste
- 1/3 cup oil
- 5 to 6 green chilies
- chopped coriander leaves for garnish
- Marinate fish with all the marinating spices and set aside for 30 mins to 1 hour.
- Wash rice 2 to 3 times and soak for 20 mins.
- In a pot, add oil, whole spices and sliced onions. Saute at medium flame till the onions turn light golden. (NOT BROWN)
- Add chopped tomatoes, garlic ginger paste, salt, turmeric, coriander powder and red chili powder. Saute for 2 to 3 mins.
- Add a cup of water and cover the pot. Allow the tomatoes and onion to soften up for about 10 mins.
- Check to see if the tomatoes and onions have softened up to make a smooth curry base. IF not, add another cup of water and leave for another 10 mins. Turn off flame.
- In the meantime, take another pan and add oil. Shallow fry fish at high flame, flipping only when one side is golden brown in color. It should take about 6 to 7 mins in total. Remove fish from oil and set aside.
- Strain the leftover oil from fish and add around 1/3 cup of this oil in the curry base.
- Turn on the flame for curry pot and cook the curry base for another 2 mins.
- Add drained rice and water to the pot. Make sure the water level is about an inch over the rice. (check by inserting your finger in the water, the water level should touch your first joint in the finger when your fingertip touches the rice)
- Add green chilies and Cover the pot. Turn the flame to high. Allow the rice to cook for about 6 to 7 mins. You can open lid and check in between to see if there is still water.
- Once most of the water dries up and only a little moisture remains, reduce the flame to low and cover it again. Let the rice cook for another 6 to 7 mins. Remove the lid and fluff up the rice with a flat spatula or a fork. If your rice are done, turn off the flame. IF they still need more time to cook, splash a little water and let it sit for another 5 mins at low heat before turning off flame
- Place the pieces of fried fish on top of the rice and sprinkle chopped coriander. Cover the lid and let the rice and fish sit in the pot for about 10 mins before serving. This will allow the fish to heat up again and the rice to soak up the aroma from the fish.
- Serve with raita and salad on the side.
- Alternate cooking methods
You can also make the rice in an instant pot.
- You can air fry the fish, or grill it or bake it.