

Why this works
Serves & timing
- Serves: 4
- Prep time: 25 minutes (including marination)
- Cook time: 35–40 minutes
- Total time: ~1 hour (includes resting)
Ingredients
To embark on your culinary adventure and create Karachi Fish Biryani, gather the following ingredients:
For the Marination:

- 500 grams of boneless fish fillets (pomfret, tilapia, or any white fish of your choice)
- 2 tablespoons of ginger-garlic paste
- 1/2 cup of yogurt
- 1 teaspoon of red chili powder (adjust to your spice preference)
- 1/2 teaspoon of turmeric powder
- Salt to taste
For the Rice:

- 2 cups of Basmati rice, soaked for 30 minutes and drained
- 4-5 cups of water
- 2-3 green cardamom pods
- 2-3 cloves
- 1-inch cinnamon stick
- 1 bay leaf
- Salt to taste
For the Biryani Spice Mix:
- 1 teaspoon of cumin seeds
- 1 teaspoon of coriander powder
- 1/2 teaspoon of cumin powder
- 1/2 teaspoon of garam masala
- 1/4 teaspoon of saffron strands soaked in warm milk
- A handful of fresh coriander leaves, chopped, for garnish
- A handful of fresh mint leaves, chopped, for garnish
- Ghee (clarified butter) or cooking oil for frying
For the Fish:
- Vegetable oil for shallow frying
Now that you have all your ingredients ready, let's dive into the captivating process of preparing Karachi Fish Biryani.
Step-by-Step Cooking Instructions
Step 1: Marinating the Fish
Begin by marinating the boneless fish fillets. In a bowl, combine the ginger-garlic paste, yogurt, red chili powder, turmeric powder, and salt. Mix these ingredients well to create a flavorful marinade.
Coat each fish fillet with the marinade, ensuring they are well-covered. Cover the bowl and let the fish marinate for at least 30 minutes. This allows the fish to absorb the aromatic flavors.
Step 2: Preparing the Rice
While the fish is marinating, let's prepare the rice. In a large pot, bring 4-5 cups of water to a boil. Add the soaked and drained Basmati rice.
To the boiling water, add the green cardamom pods, cloves, cinnamon stick, bay leaf, and salt. These spices infuse the rice with a delightful aroma.
Cook the rice until it's 70-80% done, ensuring it remains slightly firm to the bite. Drain the rice and set it aside.
Step 3: Shallow Frying the Fish
In a shallow skillet or frying pan, heat vegetable oil over medium-high heat. Carefully place the marinated fish fillets into the hot oil, ensuring they are not overcrowded.
Shallow fry the fish until they turn golden brown and are cooked through, which typically takes about 3-4 minutes per side. Once done, transfer the fried fish to a plate lined with paper towels to remove excess oil. Set aside.
Step 4: Preparing the Biryani Spice Mix
In a separate pan, heat ghee (clarified butter) or cooking oil over medium heat. Add the cumin seeds and let them sizzle for a few seconds, releasing their aromatic fragrance.
Stir in the coriander powder, cumin powder, and garam masala. Cook for a minute or until the spices become fragrant and release their flavors. This forms the biryani spice mix.
Step 5: Layering the Biryani
Now, it's time to assemble the Karachi Fish Biryani. In a heavy-bottomed pot, start by layering half of the partially cooked rice.
Drizzle some of the saffron-infused milk over the rice, creating a vibrant yellow hue. This saffron milk adds a touch of luxury to the biryani.
Next, place the shallow-fried fish fillets on top of the rice layer. Sprinkle a portion of the biryani spice mix over the fish.
Continue layering with the remaining rice, saffron milk, and biryani spice mix. Ensure the fish fillets are evenly distributed throughout the layers.
Step 6: Dum Cooking
To achieve the perfect fusion of flavors, cover the pot with a tight-fitting lid. Seal the edges with dough or a clean cloth to trap the steam.
Place the pot on low heat and let the biryani cook in its own steam for about 20-25 minutes. This slow cooking process allows the flavors to meld and the fish to absorb the aromatic spices.
Step 7: Garnish and Serve

Garnish your biryani with freshly chopped coriander leaves and mint leaves for a burst of freshness and color.
Serve the Karachi Fish Biryani hot, straight from the pot. It's a sumptuous meal that's perfect for sharing with family and friends.
Pro tips
Choose firm fish: It holds texture during layering. Delicate white fish can be used, but they require extra gentleness.
Par-cook rice: Don’t fully cook — otherwise the final steam will make it mushy.
Cook fish separately: Avoid overcooking fish in the rice — a short simmer in masala keeps it moist.
Use a heat diffuser: Place the pot on a tawa or low flame to avoid burning the base during dum.
Aromatic finish: Saffron and fried onions add visual and flavor drama; don’t skip both if you can.
Variations
Malabar-style: Increase coconut milk, add curry leaves, and use turmeric and black pepper notes.
Hyderabadi coastal: Use tamarind and a touch of jaggery for sweet-sour depth; whole spices and green chilies remain.
One-pot shortcut: Cook rice and fish together with more liquid and less layering for a quicker pilaf-style version — results are different but tasty.
Spicy Goan twist: Add Kashmiri red chilies, kokum or tamarind, and a splash of toddy vinegar for heat and tang.
Serving suggestions
Fish biryani goes beautifully with cooling cucumber raita, kachumber salad, and lemon wedges. A simple papad or pickle on the side provides crunch and heat contrast.
Storage & reheating
Fridge: Store in an airtight container up to 2 days. Reheat gently on the stovetop with a splash of water and covered to steam through.
Freezing: Not recommended — fish texture degrades. If freezing, remove fish pieces and freeze rice only; add fresh cooked fish when serving.
Troubleshooting — common issues
Rice too mushy: Rice was overcooked before layering; reduce par-cook time next time.
Fish falls apart: Use a firmer variety, marinate briefly, and avoid aggressive stirring.
Biryani tastes flat: Layer more fried onions, fresh herbs, or a squeeze of lemon at serving to brighten.
FAQs
Can I use different types of fish for Karachi Fish Biryani?
Yes, you can use various types of white fish, such as pomfret, tilapia, or snapper, depending on your preference and availability.
Can I make Karachi Fish Biryani less spicy?
Certainly! Adjust the quantity of red chili powder in the fish marinade and the biryani spice mix to suit your spice tolerance.
How long does fish biryani take to cook?
About 45–60 minutes, including marination, par-cooking the rice, frying the fish, and layering.
Can I make fish biryani without onions?
Onions add sweetness and depth to the dish. If you avoid onions, replace them with fried shallots or skip entirely for a lighter taste.
What’s the best accompaniment for fish biryani?
- Mint raita (yogurt with mint)
- Green chutney
- Kachumber salad (onions, cucumber, tomato, lemon)
- Pickles
Final thoughts