Chef-tested recipe
Thai steamed fish curry custard in banana-leaf cups with homemade red curry paste, coconut cream, basil, cabbage, and makrut lime

Hor mok pla is a central Thai steamed fish curry with a tender, custard-like texture. Fish, egg, coconut cream, and red curry paste are mixed until cohesive, spooned over basil and cabbage in banana-leaf cups, then steamed. Makrut lime leaves and a coconut topping provide the fragrant finish. The texture should be moist and softly set, never rubbery or watery.
Recipe at a glance
- Servings
- 8 banana-leaf cups, or 4 main-dish
- Prep Time
- 40 mins
- Cook Time
- 30 mins
- Resting Time
- 5 mins
- Total Time
- 1 hour 15 mins
- Cuisine
- Thai
- Course
- Main dish
- Cooking Method
- Curry-paste pounding, mixing, banana-leaf forming, and steaming
- Difficulty
- Advanced
- Best Served With
- Best served with steamed jasmine rice, cucumber relish, stir-fried morning glory, and fresh Thai herbs.
Before you begin
Ingredients & equipment
Gather what you need first, then cook through the method with confidence.
As an Amazon Associate I earn from qualifying purchases. Ingredient and equipment links marked “paid link” may earn a commission at no extra cost to you.
Equipment
- Mortar and pestlepaid link
- Steamer with lidpaid link
- Banana-leaf cups or heatproof ramekinspaid link
- Toothpickspaid link
- Mixing bowlpaid link
- Small saucepanpaid link
- Instant-read thermometerpaid link
- Digital kitchen scalepaid link
Ingredients
For the homemade red curry paste
- Dried red spur chillies, seeded, soaked, and drainedpaid link: 25 g
- Lemongrass, tender inner part finely sliced: 30 g
- Galangal, finely chopped: 18 g
- Makrut lime zest: 2 g
- Coriander roots, scraped and chopped: 20 g
- Shallots, chopped: 90 g
- Garlic, chopped: 35 g
- Toasted coriander seedspaid link: 5 g
- Toasted cumin seedspaid link: 2 g
- White peppercorns: 3 g
- Fine sea saltpaid link: 5 g
- Thai shrimp paste: 12 g
For the fish custard
- Firm white fish fillets such as sea bass or snapper, thinly sliced: 750 g
- Large eggs, without shells: 165 g
- Coconut cream: 350 ml Shop paid link
- Homemade red curry pastepaid link: 120 g
- Fish sauce: 35 ml Shop paid link
- Palm sugar, finely gratedpaid link: 25 g
- Makrut lime leaves, very finely shredded: 6 g
For the cups and topping
- Banana leaves, cut into 20 cm squares: 8
- Napa cabbage, thinly sliced: 220 g
- Thai basil leaves: 60 g
- Coconut cream: 150 ml Shop paid link
- Rice flourpaid link: 12 g
- Fish sauce: 5 ml Shop paid link
- Red spur chilli, cut into fine strips: 15 g
- Makrut lime leaves, cut into hair-thin strips: 2 g
Preparation Overview
Soften banana leaves briefly over low heat or in hot water so they fold without cracking, then form eight cups and secure with toothpicks. Blanch the cabbage for 30 seconds, cool, and squeeze dry. Keep the fish cold. Pound the curry-paste ingredients from driest to wettest until smooth.
Method
Pound the drained dried chillies with the salt, coriander seeds, cumin, and peppercorns until fine.
Add the lemongrass, galangal, makrut zest, and coriander roots and pound to a paste.
Add the shallots and garlic, pound smooth, then incorporate the shrimp paste.
Whisk the eggs, 350 ml coconut cream, curry paste, fish sauce, palm sugar, and shredded makrut lime until the sugar dissolves.
Add the sliced fish and stir firmly in one direction for 3 to 4 minutes until the mixture becomes slightly tacky and cohesive.
Line each banana-leaf cup with blanched cabbage and Thai basil, then divide the fish mixture evenly among the cups.
Arrange the cups in a steamer over actively simmering water, cover, and steam for 18 to 22 minutes.
Meanwhile, whisk 150 ml coconut cream with rice flour and 5 ml fish sauce in a small saucepan and cook gently until lightly thickened.
Spoon the coconut topping over the nearly set custards and steam for 3 minutes more, until the centres reach at least 63°C.
Garnish with red chilli and makrut lime strips, rest for 5 minutes, and serve in the banana-leaf cups.
Beginner Technique Notes
Pound the curry paste in stages so fibrous lemongrass and galangal become fine before wet ingredients enter.
Squeeze the cabbage dry; excess water can prevent the custard from setting cleanly.
Stirring the fish mixture in one direction develops a slightly springy, cohesive texture.
Keep enough water in the steamer and wrap the lid in a clean cloth if condensation is dripping onto the cups.
Tips and Variations
Barramundi, snapper, sea bass, or another firm white fish works well. Avoid very watery thawed fish.
Taste-test a teaspoon of mixture by steaming it in a small dish before filling all the cups, then adjust fish sauce or sugar.
Heatproof ramekins are a practical substitute for banana-leaf cups, although they lack the leaf aroma.
Add a few small pieces of shrimp or squid only as a variation; fish should remain the main ingredient.
Serving Ideas
- Place two banana-leaf cups per main-dish serving on a plate with jasmine rice. Keep the white coconut topping and fine red-and-green garnish clearly visible.
Storage
Cool promptly, cover, and refrigerate for up to 2 days. Re-steam for 6 to 8 minutes until hot throughout. Do not leave seafood custard at room temperature for more than 2 hours. Freezing is not recommended.
Nutritional Value
Allergen Notes
Contains fish, crustaceans from shrimp paste, and eggs. Coconut is classified as a tree nut in some labelling systems. Fish sauce may contain additional seafood ingredients.
Frequently Asked Questions
What is hor mok pla?
It is a Thai fish curry mixture steamed with egg and coconut milk until softly set, often in banana-leaf cups.
Can I use prepared curry paste?
Yes, but check salt and shrimp-paste content and reduce the fish sauce as needed. Homemade paste gives clearer control.
Why did the custard turn watery?
The fish or cabbage may have released excess water, or the steamer heat may have been too low.
Can I bake it?
Steaming is the traditional method and gives the moistest texture. Baking in a water bath is possible but produces a different result.