Amritsari Fish
A Punjabi street-food classic: firm white fish marinated in ginger-garlic, carom seeds and spices, coated in a thin gram-flour and rice-flour batter, then deep-fried until crackling crisp.
Quick Facts
- Cuisine: Punjabi (Indian)
- Course: Starter
- Prep + Cook: ~50 minutes
- Serves: 4
What Is Amritsari Fish?
Amritsari fish (also called Amritsari machhi) is a deep-fried fish starter that originated in the street-food stalls of Amritsar, Punjab. Boneless fish pieces are marinated in ginger-garlic paste, carom seeds (ajwain), red chili and other spices, then coated in a dry batter of gram flour (besan) and rice flour before frying.
The carom seeds cut through the richness of the fried coating and are also traditionally believed to help digest fish, which is why they appear in nearly every version of this dish. The rice flour is what gives the crust its signature crackle.
Recipe At A Glance
Prep Time
20 min
Marinating
30 min
Cook Time
15 min
Total Time
~65 min
Servings
4
Cuisine
Punjabi
Ingredients
- 500g boneless firm white fish (basa, sole or rohu), cut into 2-inch pieces
- 1 tbsp ginger-garlic paste
- 1 tbsp lemon juice
- 1 tsp carom seeds (ajwain)
- 1.5 tsp red chili powder
- 1/2 tsp turmeric powder
- 1 tsp coriander powder
- 1/2 tsp garam masala
- 4 tbsp gram flour (besan)
- 2 tbsp rice flour
- Salt, to taste
- Oil, for deep frying
- Sliced onions, lemon wedges and mint chutney, to serve
Method
Step 1 \u2014 Marinate
Pat the fish pieces dry. Mix with ginger-garlic paste, lemon juice, carom seeds, red chili powder, turmeric, coriander powder, garam masala and salt. Coat every piece and set aside for 30 minutes.
Step 2 \u2014 Coat
Sprinkle the gram flour and rice flour over the marinated fish and toss until each piece is evenly coated in a thin, dry batter. Don’t add water \u2014 the marinade juices are enough to bind the flour.
Step 3 \u2014 Heat The Oil
Heat oil in a deep pan to medium-high. Test with a pinch of batter \u2014 it should sizzle and rise steadily.
Step 4 \u2014 Fry
Fry the fish in small batches for 3\u20134 minutes per side, until deep golden and crisp. Avoid crowding the pan, which cools the oil and softens the coating.
Step 5 \u2014 Serve
Drain on paper towels and serve immediately with sliced onions, lemon wedges and mint chutney.
Tips For The Best Amritsari Fish
- Pat the fish completely dry before marinating \u2014 excess moisture stops the coating from crisping
- Rice flour is what gives the crust its signature crunch \u2014 don't skip it
- Fry in small batches and keep the oil temperature steady for an even crust
- Serve immediately \u2014 the coating softens quickly once it cools

Part Of The Indian Cuisines Course
Amritsari Fish is one of 20 recipes taught in APCA Chef Online’s Indian Cuisines course with Chef Lakhbir Singh, alongside other Punjabi, Kashmiri, Rajasthani and Hyderabadi dishes \u2014 starters, main courses and desserts, all self-paced and online.
Frequently Asked Questions
Firm, boneless white fish such as basa, sole or rohu hold together well during frying.
It has moderate heat from red chili powder, and it’s easy to adjust to your own taste.
Yes, though the coating will be less crisp than the traditional deep-fried version. Brush with oil and bake or air-fry at high heat, turning once.
Sliced onions, lemon wedges and mint or coriander chutney.
It’s best eaten fresh. Leftovers keep 1\u20132 days refrigerated, but the coating won’t stay crisp on reheating.
More From APCA Chef Online
Want the full Punjabi menu? See the Indian Cuisines course, or browse the complete Culinary Program.
Master The Full Indian Menu
Amritsari Fish is just one of 20 recipes in the Indian Cuisines course.