A mouthwatering fish biryani (traditionally known as machi biryani) to complement any celebration! It’s a layered Basmati rice dish made with spicy haddock fish fillets and uses the “dum” method to create a truly unique and flavourful meal. This recipe is high in protein and packed with fibre, using less oil and lots of nutritious ingredients, like spices, tomatoes and pepper to create a nourishing recipe. It has a mild spice level.
May I just say that this is one of my favourite rice dishes? It’s a marvellous combination of pan-seared spicy fish overlayed with a rich zingy tomato masala and tiers of delicate fluffy Basmati rice. How can you resist?
As a registered dietitian and certified diabetes educator, I believe that diabetes-diet friendly and heart healthy meals are about balance, making room for the foods we love.
Truly, to eat well, we need to enjoy our cultural foods without guilt. Because food and culture are so intertwined, bringing our families and friends together around a festive table is one of the most cherished things we can do.
I can confidently say that the fish biryani recipe I am about to share is a terrific way to celebrate any occasion – Ramadan and Eid, a birthday, or just a regular old Thursday night!
Traditionally, biryani is a dish that is prepared with either lamb, beef, or chicken. However, this fish biryani is delightful if you want to try something new. It’s a hit at home — which is why it’s my favourite celebratory dinner recipe. It exudes Desi (South Asian) flavours and reminds me of my childhood. Charming moments spent with my lovely granny, Amma.
What is dum biryani?
Dum is a cooking method in Pakistani and Indian cuisine where the food is sealed in an earthenware pot (usually clay) and cooked over a slow fire. The end result is a succulent, aromatic and flavourful dish. The tight seal traps the flavour and moisture, which gently cooks the rice and meat (poultry or fish) over a period of time.
The seal for dum biryani can be achieved in different ways, such as using dough to seal the pot or using a cloth napkin. I lean on my cast iron pot to do the trick.
What fish can I use for fish biryani?
Any firm white fish will work well in this recipe. I like to use haddock fish because of its flavour and texture, but you can also use basa fillets, tilapia, cod, or any other firm fish.
A firm type of fish ensures that the fillets don’t break apart during the cooking process.
Haddock nutrition
Haddock is a low-fat fish that is an excellent source of protein. It’s an abundant source of vitamin D and vitamin B12.
Vitamin D is important for bone health and helps the body to absorb calcium. Vitamin B12 is essential for red blood cell formation and cognitive function.
Haddock is also a good source of selenium and a source of phosphorus as well.
Here is a summary of haddock nutrition:
- high source of vitamin D (about 170 % DV)
- high source of B12 (about 150% DV)
- high source of protein (63% DV)
- high source of selenium (90% DV)
- low fat
- high source of phosphorus
The nutrition data is taken from the USDA to calculate the % DV for one raw haddock fillet (193 g).
Following is the nutrition information for one raw fillet of haddock fish (193 g).
Nutrient and calories | Amount |
Calcium | 21.2 mg |
Fat | 0.9 g |
Folate/Folic Acid | 23.2 mcg |
Iron | 0.3 mg |
Magnesium | 40.5 mg |
Phosphorus | 438.0 mg |
Potassium | 552.0 mg |
Protein | 31.5 g |
Selenium | 50 mcg |
Sodium | 411.0 mg |
Vitamin A | 32.8 mcg |
Vitamin B12 | 3.5 mcg |
Vitamin D | 34.7 mcg |
Zinc | 0.6 mg |
Calories | 143.0 kcal |
Basmati rice nutrition
Basmati rice is a type of long-grain rice that is native to the Indian subcontinent.
The limited nutritional information available shows that Basmati rice is low in fibre, vitamin A, calcium, and potassium.
However, when compared to other types of rice, Basmati rice has a lower glycemic index (50-58). In other words, it is absorbed more slowly into the bloodstream and causes a slower rise in blood sugar levels. This makes Basmati rice a good option for people looking for diabetes diet-friendly grains.
Many folks are particularly concerned about the carb content of Basmati rice. You might be surprised to learn that boiling Basmati rice has been shown to reduce its carbohydrate content by about 50%.
Following is the nutrition information for one cup of cooked Basmati rice (142 g).
Nutrient and calories | Amount |
Calcium | 19.9 mg |
Dietary Fiber | 1.0 g |
Potassium | 59.6 mg |
Protein | 5.0 g |
Total carbohydrate | 46.0 g |
Calories | 210 kcal |
Nutrition information per serving of biryani
Below you will find the nutrition information for one serving of fish biryani:
- 28 g of protein (high-protein)
- Reduced in total fat and low in saturated fat (10% DV)
- A high source of fibre
- A high source of vitamin A
- A high source of vitamin C
- A high source of potassium
Percent Daily Values are based on a 2000-calorie diet. Interpretation of DVs from US FDA.
After looking at all of the scientific evidence and considering how well it meets stringent criteria, the American Heart Association concludes that replacing saturated fats with unsaturated fats, especially polyunsaturated fats, can help lower your risk of developing heart disease.
Ingredients
Here is a snapshot of the ingredients you’ll need to make this fish biryani recipe:
- Basmati rice: Opt for long-grain basmati rice for this recipe. It’s light and fluffy, with a nutty flavour. Make sure you rinse the rice several times before cooking.
- Haddock: Frozen or fresh fish fillets can be used for this recipe. If using frozen fish, make sure it’s fully thawed and patted dry before cooking.
- Tomatoes: I like to use fresh tomatoes (on the vine variety). Just make sure they’re ripe and juicy. Canned tomatoes wouldn’t be the best choice because they will make the biryani too wet and mushy.
- Onions: You can use any type of onion you have on hand, but I prefer to use yellow onions because they’re sweeter. You will want to cut them into thin slices instead of chopping them too small.
- Garlic: I always use fresh garlic; it just has the best flavour.
- Ginger: Fresh ginger gives the biryani a nice zing that isn’t as pungent if you were to use ginger paste.
- Plant milk: to release the saffron’s colour and flavour. I like to use oat milk, but you could also use any other type of plant milk you have on hand.
- Saffron: This is a key ingredient in this recipe because it gives the biryani a beautiful yellow colour — and the best floral flavour. Just make sure to use good-quality saffron.
- Spices: I like to use a combination of whole and powdered spices like cumin, cardamom (black and green), bay leaves, cinnamon, garam masala, ginger, red chilli powder (a mild sweet variety) and turmeric to flavour this fish biryani. You may also increase the spiciness by adding extra red chilli powder or chopped chillies, as long as you don’t go too zealous. I’ve noticed that when I use a lot of chillies, the other flavours become overpowered. Plus, if you have kids or family members who don’t like spicy food, they’ll enjoy this fish biryani recipe just as it is.
- Olive oil: for pan-frying the haddock fish fillets and for tempering the whole spices.
- Bell pepper: I like to use orange or red bell peppers because they’re sweeter, but you could also use green bell peppers.
- Mint: I love using fresh mint in biryani recipes! It really brightens up the dish and gives it a nice fresh flavour. It’s used to garnish the biryani.
- Plums: dried plums add a nice sweetness and depth of flavour to the biryani, but you could also use raisins or dates.
- Salt: to season the fish biryani. I used sea salt.
Instructions – step by step
Though this fish biryani recipe has numerous steps, it is easy to make. The most time-consuming part is chopping and slicing, but if you have a food processor – that can save you some time.
- Once you’ve prepared the ingredients according to the instructions in the recipe card, begin by combining the saffron with milk, mix and set aside (Step 1).
- Meanwhile, on medium heat, temper the whole spices in olive oil (Step 2).
- Add onions, garlic, and ginger once the whole spices have begun to release their fragrance. Sauté until golden brown. (Step 3).
- Then, add the powdered spices, tomatoes, plums and salt (Step 4). Cook the tomatoes (uncovered) over medium heat until soft and mushy.
- Finish the biryani base masala by adding pepper and cook for 2 minutes. Turn off the heat, and transfer the sauce to a large bowl (Step 5). Keep the pot aside to be used for the dum biryani (only if it is oven-safe).
- Meanwhile, prepare the fish for pan-frying. Combine the powder spices with salt and sprinkle over the fish fillets, ensuring that both sides of the fish are well-coated (Steps 6-8).
- Heat 1 tbsp of oil in a large frying pan and carefully place half the spiced fillets in the pan. The goal is not to “cook” the fish. Rather, you want to sear it over high heat so that the spices can adhere to the fish. I go right to turning the fish over and then removing them as soon as I’ve dropped the final fish fillet into the pan (Step 9). Sear the fillets in two batches and set them aside.
- Preheat the oven to 380 degrees Fahrenheit. In a medium saucepan, add the rice and water and bring to a boil. This usually takes 7-8 minutes over high heat. It’s important to keep an eye on the rice and reduce the heat to medium-high to prevent overflow. Cook the rice at boiling point for one minute, drain immediately and prepare to layer the fish biryani (Step 10).
- Carefully arrange half of the fish fillets in the pot as a single layer (Step 11).
- Next, place one-third of the cooked rice (Step 12).
- Then, spread half of the tomato-pepper sauce over the rice (Step 13).
- Next, lay the remaining fish fillets in a single layer (Step 14).
- On top of the fish fillets, add half of the remaining rice (Step 15).
- Cover the rice with the remaining sauce (Step 16).
- Finally, add the remaining rice, garnish with mint and pour over the saffron-infused milk. Cover the pot with a tight-fitting lid and send it in a preheated oven for 20 minutes (Step 17).
- Once the biryani is cooked, serve and enjoy with your favourite chilli or carrot achar.
You can find the complete ingredient list, along with detailed instructions, in the recipe card below.
Tips and substitutions
- This biryani was intended to be mild to cater to a wider audience. However, if you like things on the spicier side, increase the amount of red chilli used or add fresh green or red chillies to the sauce. Of course, you could serve this alongside spicy achars or pickles.
- Adjust the salt to suit your taste and dietary needs. If you’re watching your blood pressure for heart health, you could consider reducing the salt by adding additional herbs and citrus.
- If you’re not a fan of fish, you can use chicken or lamb in this biryani recipe. The meat will need to be cooked in the sauce until it’s almost cooked through – before layering the biryani.
- Make sure the fish fillets are thoroughly dry before pan-frying them. This will help to prevent the fish from sticking to the pan and also allow the spices to adhere better.
- If you don’t have access to an oven, you can cook the fish biryani on the stovetop. Simply place a lid on the pot after layering and cook over very low heat for 15 minutes, or until the fish and rice are fully cooked.
- The fresher your ingredients – the better your fish biryani will taste.
- For a vegan or vegetarian version of this dish, you could use tofu or paneer in place of the fish.
- The tomato-pepper sauce should be extremely thick and not runny for optimum results. Also, avoid “over-cooking” the rice and fish; note that these will finish cooking in the oven (dum). If your fish is too dry or the rice is mushy, it’s a sign you overcooked them both, or the tomato sauce was too runny.
Storage
I know my readers love leftovers – especially biryani! If you’re using frozen fish, store the biryani in an airtight container in the fridge for up to 2-3 days. Simply reheat gently over low heat on the stovetop or in the microwave.
What is the secret ingredient of biryani?
There is no one “secret” ingredient to biryani. Rather, it’s the combination of spices and ingredients that make this dish so special. That said, some folks believe that saffron is the key to a phenomenal fish biryani. Saffron not only adds beautiful colour to the dish, but it also imparts a unique flavour that takes this recipe to the next level.
I hope you will love this as much as we do!
What’s your favourite biryani memory? Let me know in the comments below!
If you try this recipe, would love to hear from you! Leave a comment, rate it, or share a photo and hashtag with #desiliciousrd on Instagram, Facebook and Twitter! Can’t wait to see your photos.
Hungry for more?
Subscribe to my newsletter for free recipes, nutrition tips and all the latest updates.
Ingredients
Biryani sauce (masala)
- 2 tbsp olive oil, extra virgin
- 1½ tbsp cumin seeds
- 1 cinnamon stick, large
- 3 bay leaves
- 10 green cardamoms, seeds only, crushed
- 3 black cardamoms, seeds only, crushed
- 1½ tbsp garlic, fresh, grated or crushed
- 2 tbsp ginger, fresh, finely chopped
- 2 onions, small, thinly sliced
- 3 tomatoes, medium size, on the vine variety, washed and cut into small chunks
- 6 dried plums, small
- 2 tsp tumeric
- 2 tsp garam masala
- 2½ tsp red chilli powder, sweet mild variety, adjust to taste
- 2 tsp salt, sea salt
- 1 bell pepper, orange or red, washed and cut into small cubes
Saffron milk
- 2 tbsp oat milk, unsweetened
- ⅛ tsp saffron
Haddock fish
- 2 tsp red chilli powder, sweet mild variety, adjust to taste
- 1 tsp ginger powder
- 1½ tsp salt, sea salt
- 800 g haddock, 5 frozen fillets, thawed, cut into medium pieces, thoroughly dried. Could use fresh.
- 2 tbsp olive oil, for pan frying haddock fish
Basmati rice
- 2 cups basmati rice, washed thoroughly, drained
- 6 cups water, for boiling rice
Garnish
- ½ cup mint, fresh, washed, finely chopped
Instructions
Saffron milk
- In a small ramekin, combine saffron with milk, mix and set aside
Biryani sauce (masala)
- In a large pot, heat 2 tablespoons of oil on low to medium heat
- Add the cumin, cinnamon, bay leaves and crushed cardamoms. Temper the spices in oil until they become fragrant but be careful not to burn them
- Add garlic, ginger and onions and sauté on medium heat until golden brown
- Stir in the tomatoes, plums, turmeric, garam masala, chilli powder and salt
- Cook over medium heat until the tomatoes are soft and mushy
- Finish the biryani base masala by adding pepper and cook for 2 minutes
- Turn off the heat, and transfer to a large bowl. Set the pot aside to be used for the dum biryani (only if it is oven-safe)
Haddock fish
- Meanwhile, prepare the fish for pan-frying. Combine salt, chilli powder and ginger powder and sprinkle over the fish fillets, ensuring that both sides of the fish are well-coated
- In a large frying pan, heat 1 tbsp of oil over medium-high heat and place half the fillets in the pan. You don't want to "cook" the fish fillets; rather sear them so that the spices can stick to the fish. Turn the fish over and sear the other side as quickly as possible
- Remove the fillets as soon as feasible and repeat the process with the remaining fillets. Once all the fillets are seared, set them aside
Basmati rice
- Preheat the oven to 380 degrees Fahrenheit. In a medium saucepan, add the rice and water and bring to a boil. This will take anywhere from 7-8 minutes over high heat
- Reduce the heat to medium-high to prevent overflow and cook the rice at boiling point for one minute. Drain the rice immediately and prepare for layering the fish biryani
Layering and garnish
- Begin layering the biryani by starting with the bottom layer. Carefully arrange half of the fish fillets in the pot
- Next, place one-third of the cooked rice on top of the fish
- Spread half of the thick tomato-pepper sauce on top of the rice
- Lay the remaining fish fillets on top of the sauce in a single layer
- On top of the fish fillets, add half of the remaining rice
- Cover the rice with the remaining sauce
- Finally, add the remaining rice, garnish with mint and pour over the saffron-infused milk
- Cover the pot with a tight-fitting lid and send it in a preheated oven for 20 minutes
- Once the fish biryani is cooked, serve and enjoy with your favourite salad, chilli or carrot achar (pickle).
Notes
Tips and substitutions
- This biryani was intended to be mild to cater to a wider audience. However, if you like things on the spicier side, increase the amount of red chilli used or add fresh green or red chillies to the sauce. Of course, you could serve this alongside spicy achars or pickles.
- Adjust the salt to suit your taste and dietary needs. Consider reducing salt by adding more herbs and citrus.
- If you’re not a fan of fish, you can use chicken or lamb in this biryani recipe. Just cook the meat in the sauce until it’s mostly cooked through – before layering.
- Make sure the fish fillets are thoroughly dry before pan-frying them. This will help to prevent the fish from sticking to the pan and also allow the spices to adhere better.
- If you don’t have access to an oven, you can cook the fish biryani on the stovetop. Simply place a lid on the pot after layering and cook over very low heat for 15 minutes, or until the fish and rice are fully cooked.
- The fresher your ingredients – the better your fish biryani will taste.
- For a vegan or vegetarian version of this dish, you could use tofu or paneer in place of the fish.
- The tomato-pepper sauce should be extremely thick and not runny for optimum results. Also, avoid “over-cooking” the rice and fish; note that these will finish cooking in the oven (dum). If your fish is too dry or the rice is mushy, it’s a sign you overcooked them both, or the tomato sauce was too runny.
Storage
The fish biryani (made from frozen haddock fillets) will keep in an airtight container in the fridge for up to 2-3 days. Reheat gently over low heat on the stovetop or in the microwave. This fish biryani recipe is best enjoyed fresh.Nutrition Information:
Keep in mind that the nutritional values provided are approximations and suggestions, and might fluctuate depending on ingredient variations, portion sizes, and recipe adjustments. This nutrition facts table cannot account for your individual needs. Your body — including your hunger and satiety cues — change daily. It’s perfectly fine to eat more or less on different days. Instead of letting food guilt take over, consider mindful eating.
* Percent Daily Values are based on a 2000 calorie diet.
I’d posted a few months ago about how much I enjoyed this dish. Since then I’ve cooked it a number of times, and I’ve ordered Biryani at Dishoom in London’s West End and at Shanti on Boston’s Dorchester Avenue. Both were excellent, but this recipe with the layered haddock is better. Dishoom’s Chicken Berry Britannia Biryani uses whole cranberries rather than plums. My local dried plums are too chewy, so I’ve substituted a half cup of frozen blueberries in the tomato pepper onion sauce, and they are more like Dishoom’s cranberries. Both Shanti and Dishoom mix the rice, sauce and chunks of meat together, but I far prefer the layering in this recipe. Shanti serves their biryani with a side dish of yogurt, but I prefer this recipe’s subtle saffron flavor.
The Biryani was delicious, and I’ll cook it again soon especially since I had to special order several of the spices. The recipe was suggested by one of my Asian students in answer to a class project to provide recipes for sustainable fish. It took nearly an hour to prepare in addition to the 40 min to cook. It reminded me of some of my favorite Indian/Pakistani dishes best consumed with a good lager. My wife enjoyed the dish but found it a bit too spicy, so next time I’ll cut back on the red chili powder, substituting 1 tsp of milder Aleppo pepper. I made the mistake of grinding the cardamom seeds and cinnamon stick in a pestle before cooking in oil, and the cinnamon stick ended up as hard chunks that had to be picked out. After watching the video, it appears that the bay leaves and cinnnamon stick should be left whole for easier removal from the sauce before layering. With 1 3/4 – 2 lb pounds of fresh haddock (4 filets, cut into 8 pieces for layering), there is enough to serve 6.
Oh my goodness, Eugene! What a lovely and thorough experience of my fish biryani you’ve shared. Many thanks for taking the time to make it and circle back here. You can absolutely adjust the spice level to your tolerance. I am glad the videos on the site help to clarify and showcase the cooking action. I look forward to hearing more about your cooking adventures! All my best, Shahzadi 🙂
Succulent and flavourful! Best fish biryani ever😀
thanks so much, Karim! That is really amazing!
Sounds and looks delicious. Can I substitute pre-cooked chicken instead of fish?
It sounds lovely, though I have not tried it with chicken. Let me know how you go. Enjoy!
most welcome!