Lift the steamer lid after the last five minutes and the banana leaf cups have risen. Their orange tops are domed and set, with a white ribbon of coconut cream across each one, slivers of red chili and fine green threads of makrut lime leaf. The smell comes in layers. First the sweet richness of coconut, then the heat and spice of red curry paste, then a sharp note of citrus from the lime leaf. This is ho mok pla, Thai fish curry bound with egg and coconut milk and steamed until it holds together like a soft custard. It goes to the table in its leaf cup, hot, beside a plate of jasmine rice, and it tastes sweet and salty at once, with the cream on top softening the chili.
Ho Mok: Wrapped, Buried, Then Steamed
What the name keeps
In English, "steamed curry" covers a whole family of Southeast Asian dishes: curried fish or meat wrapped in banana leaf and steamed or cooked over charcoal, then eaten with rice. The family runs through Cambodia, Laos, Malaysia, Singapore, Indonesia, Myanmar, the Philippines, Xishuangbanna in southern China and Thailand. The Thai member is ho mok, and when it is made with fish it is ho mok pla.
Ho mok (ห่อหมก) is usually explained as two words joined: ho, to wrap, and mok, to cover or bury. Pla (ปลา) is fish. The name describes a cooking method more than a recipe, which is why the same word covers fish, chicken and other versions.
The burying in the name is usually traced to an older way of cooking. Food was wrapped in banana leaf and set in the ash and embers of the hearth to cook in its own steam. Later the parcels were grilled over charcoal, and when Chinese-style steamers spread, the cooking moved into the steamer basket. The method today is nueng, steaming, but the old name stayed. The dish in its present shape is said to have formed after chilies arrived from the Americas. Stories place it in the Ayutthaya period, link it to the Japanese settlement there, and find it in the old Thai tale Khun Chang Khun Phaen. How much of that is history and how much is legend is not settled.
Every region, every roadside
In Thai home kitchens, mok is one of the basic techniques, alongside gaeng (curries), yam (tossed salads) and khua (dry stir-fries). Ho mok is described as a dish found in every region of Thailand, each with its own taste. In Ban Phaeo, in Samut Sakhon province, roadside sellers offer it all year, made with snakehead fish caught in the canals that run through the gardens. It is the kind of dish people pick up on the way home as much as cook from scratch, and today there are quick single-serving versions made with plant-based coconut milk and stock seasoning.
The variations are real, not cosmetic. In a coastal community in Samut Sakhon, ho mok is made with flaked tilapia, roasted curry paste, krachai (fingerroot) and three eggs, the cups are lined with noni leaves, and the curry is cooked once in a pot before it goes into the leaf to steam. Elsewhere, cooks add scallions, lemon basil, cilantro, krachai or galangal. The version here is the central Thai style: raw fish beaten into paste and coconut milk, red curry paste for the backbone, a separate layer of thickened coconut cream on top. To see where it sits among the rest of the country's cooking, start from Thailand.
The neighbour across the border
Cambodia's amok looks almost the same, a fish curry steamed in a banana leaf cup. The flavor comes from different places: amok is built on kroeung, the Khmer herb paste, and prahok, fermented fish, while ho mok pla leans on Thai red curry paste and its coconut cream top. Both countries have voices that claim the dish began on their side. Where it began is not settled, and both are cooked with pride on each side of the border.
Ingredients

The 2 cups of coconut milk go into the batter. The coconut cream and rice flour are kept apart and only become the white topping in the last five minutes. Never stir the topping into the batter: it belongs on top, where it forms the clean white layer that balances the chili.
This dish contains fish (in the fish itself and in the fish sauce) and egg. Some red curry pastes contain shrimp paste or soy, so read the ingredient label of the paste you buy. For coconut, follow the allergen labeling on the product.
Equipment
- Steamer: a bamboo steamer, or a pot with a steaming rack that fits it, and a lid
- Banana leaves, or heatproof cups, small bowls or ramekins
- Food processor, or a sharp knife and cutting board for mincing the fish
- Pot for blanching the cabbage, and a bowl of cold water
- Large mixing bowl and a spatula or wooden spoon
- Measuring cups and spoons
- Small saucepan (or a microwave-safe bowl) for the topping
- Bamboo skewer
- Clean kitchen towel
Choosing and Substituting
What makes this taste Thai is the paste, the fish sauce, the coconut and the sweet-salty balance, so buy a Thai red curry paste (sold as gaeng phet paste) and real fish sauce before anything else. Pastes differ a lot in heat and salt from brand to brand. The leaves are where the aroma comes from: banana leaf, Thai basil and makrut lime all show up in the smell of the finished cup, and all three are easiest to find frozen or fresh at an Asian grocer.
| Item | What to buy | Swap and what it changes |
|---|---|---|
| Fish | In Thailand: king mackerel, featherback or snakehead. Elsewhere: cod, sea bass, sea bream; pangasius, snapper and tilapia also work | Choose mild white fish. Fish with a lot of dark, bloody flesh gives a stronger, fishier cup. Buy fresh, already-gutted fillets |
| Red curry paste | Thai red curry paste | Heat varies by brand, so taste a little of the paste on its own before you start |
| Fish sauce | Thai fish sauce | Soy sauce gives a different flavor entirely; keep the fish sauce |
| Coconut milk | Canned coconut milk; one 13.5 fl oz (400 ml) can plus ⅓ cup (80 ml) makes the 2 cups | Shake the can well if it has separated |
| Coconut cream | Canned coconut cream, or the thick layer at the top of a can of coconut milk | Thin milk gives a runny topping |
| Rice flour | Thai rice flour | Potato starch turns clear and sets firm; stay with rice flour for a soft, opaque top |
| Thai basil | Fresh horapha | Sweet basil smells different; dried basil loses its aroma |
| Makrut lime leaves | Fresh or frozen | Dried leaves or citrus peel give a different, flatter citrus note |
| Banana leaves | Frozen banana leaves | Cups, bowls, ramekins or a coconut shell work; without the leaf the cups have less aroma |
| Red spur chili | Thai red spur chilies | Other chilies change the heat, so slice accordingly |
Method
The work happens in three stages. First the cold prep: blanch and squeeze the cabbage, mince and slice the fish, and fold the leaf cups. Then the batter, beaten until thick and sticky. The cups steam hands-off for 20 minutes, which is when you make the topping; it goes on for the final 5.
The batter holds raw fish and raw egg: never taste it before it is steamed. Wash your hands, the cutting board and the knife after handling raw fish. The parasite anisakis moves from a fish's gut into its flesh as time passes after the fish dies, so use fresh, gutted fillets and cook the fish through to the center; heating to 140°F (60°C) at the center for 1 minute kills it, and the 20 plus 5 minutes of steaming covers this. Reheated leftovers must also be hot all the way to the center. Lift the steamer lid away from your face.
When It Goes Wrong
| What you see | Why | What to do |
|---|---|---|
| The custard breaks apart and sits in water | Cabbage went in wet, or the batter was only stirred, not beaten | Squeeze the cabbage until it stops dripping, and beat the batter until it trails from the spatula |
| The center is still loose after the topping goes on | Cups too deep, or too much liquid against the single egg | Keep the amounts above and use shallower cups next time; now, steam on in 5-minute rounds until a skewer comes out clean |
| Too hot | Red curry paste is strong against the fish | Next time use 2½–3 oz (70–80 g) paste; the salt drops with it, since the paste carries salt too |
| A fishy smell | Fish with dark, bloody flesh, or fish that was wet | Choose mild white fillets and pat them dry before mincing |
| The leaf cup tears | A single layer of leaf | Use two rounds stacked; if one tears, set the leaf on a small heatproof dish and fill it there |
| The topping has a skin | The cream was cooked too long | Take it off the heat as soon as it coats the spoon thinly |
Serving, Variations and Storage

Serve the cups hot, straight from the steamer, in their leaves. Set out steamed jasmine rice and let everyone peel back the leaf and spoon the custard over their rice; the rice takes the edge off the chili and soaks up the coconut. A small dish of extra chili slices on the table lets people add heat. Like the cups sold at Thai roadsides, it works as a meal on its own with rice, or as one dish among several.
Variations
- Seafood. Crab or shrimp work in place of some of the fish. Shellfish holds more water, so the set changes; watch the tops and test with a skewer rather than adding steaming time.
- Chicken. Chicken ho mok is part of the Thai tradition. Slice the chicken thin and check with a skewer that it is cooked through in the same 20 plus 5 minutes.
- A different fish. Firm king mackerel gives a meatier bite; softer fish like cod gives a more delicate, custardy cup.
- Samut Sakhon coast style. Make this as its own batch rather than mixing it into the recipe above: tilapia, roasted curry paste and krachai, cooked in a pot first, then steamed in cups lined with noni leaves. It is deeper, earthier and more herbal.
Storage
Let leftovers cool, then refrigerate them in an airtight container and eat them within 2 days, which is a home-cook guideline rather than an official food-safety standard. Reheat them in the steamer until they are hot all the way to the center. Avoid the microwave.
Frequently asked questions
Can I use foil instead of banana leaves?
You can, but the steam hits a foil cup harder and you lose the leaf aroma completely. Heatproof cups, bowls or ramekins are a better swap, and lining each one with a single piece of banana leaf brings some of the aroma back.
Can I leave out the egg?
Keep it. This recipe has one egg, which binds the fish, paste and coconut milk into a custard that sets in the steamer, and it has not been worked out without it.
Can I make the topping in the microwave?
Yes. Stir the rice flour into the coconut cream in a microwave-safe bowl and heat for about 40 seconds, stopping once halfway to stir. It is ready when it coats the back of a spoon.
Why not just pour extra coconut milk on top?
Thin coconut milk soaks into the custard and disappears. The thick cream, set with a little rice flour, stays as a separate white layer, and that soft, rich layer against the hot orange custard is the taste of the finished cup.















