Haw Mok ห่อหมก is a cross between a curry and a custard. If this sounds strange, trust me, it is phenomenal. It's one of my favourite ways to eat curry (might even be my actual fave). The texture is silky and creamy, but has all the beloved flavours of Thai red curry. This unusual combination is a classic, traditional Thai dish that's one of my mom's favourite meals!

What is Haw Mok ห่อหมก?
In Thailand, haw mok (sometimes also spelled as hor mok) is a very popular dish you can find all over the country. You can find haw mok served in fancy sit-down restaurants, sold by street food vendors, or even in the supermarkets' ready-to-eat food section. you can find at many kinds of restaurants
It's a savoury custard (think quiche) that is made primarily of coconut milk, red curry paste, and eggs, and it most commonly uses fish as the protein, although other kinds of seafood can also be used. While you can use chicken or other meats, in Thailand they are usually made from fish and seafood only. The custard is added to a banana leaf cup or wrapped entirely in banana leaves packages and then steamed. They can also be grilled, in which case it is called haw mok yang (grilled haw mok).
Since making banana leaf cups is a pain, for my recipe I've made a hack by lining ramekins with banana leaves, so you can get the traditional aroma of steamed banana leaves without the hassle. You can also omit the banana leaves completely and the flavour of the haw mok will be mostly intact as the banana leaf aromas is quite mild.
Ingredients and Notes
Here are all the ingredients you need and important notes about them. For amounts, see the recipe card below.
- Thai red curry paste. I recommend Maeploy or Aroy D brands as they have the strongest flavours and this recipe is made using these pastes. Other brands can also be used, but you may need to adjust the amount of the paste and saltiness. See my thorough review of common red curry paste brands here.
- Coconut milk. See my post on how to choose good coconut milk here.
- Palm sugar, finely chopped or grated. You can also substitute equal amount of light brown sugar for this recipe.
- Fish sauce
- Eggs, large.
- Makrut lime leaves, finely julienned. If you don't have them you can omit.
- Any kind of fish filet or seafood. The most common choice is white fish such as bass or tilapia, but salmon would also work. You can also use shrimp, squid, or shellfish (without the shells). If you don't eat seafood: You can sub bite-sized pieces of chicken, preferably dark meat but breast would be okay too. I don't recommend pork or beef or anything that would become tough if overcooked because you won't be able to control precisely how long the meat cooks in the custard.
- Shredded cabbage or other sturdy leafy veg. The veggies are added at the bottom of the custard for texture, so you want to use sturdy veggies such as cabbage, kale or Chinese broccoli leaves.
- Thai basil
- Banana leaves, optional. You can buy banana leaves frozen at many Asian grocery stores.
- Jasmine rice, for serving. Like a regular curry, haw mok is always eating with jasmine rice!
Garnish
Garnishes by default are optional, but without them it can definitely look a bit plain. Haw mok come with a standard set of garnishes to add some colour to the top:
- Coconut milk
- Cornstarch, this is to thicken the coconut milk so it stays put on the custard. It can be replaced with any other thickening starches such as rice flour or all-purpose flour.
- Sliced red chilies or julienned red bell pepper
- Cilantro or another green herb you've got on hand. To keep it simple you can julienne extra makrut lime leaves and use that as a garnish. You can also use Thai basil for garnish, but be sure to serve it right away as basil turns dark once it comes into contact with hot food for a while.
How to Make Haw Mok - Step by Step
Here's a bird's eye view of the steps to give you an idea of what's involved. For the complete instructions, see the recipe card below. If this is your first time, I recommend watching the video tutorial in the recipe card to ensure success.

- Add a splash of coconut milk to the curry paste and stir to loosen the paste. Once the paste is loose, add the remaining coconut milk and stir until the paste is dissolved.
- Add the eggs, fish sauce, sugar, makrut lime leaves and stir to combine.
- Add the fish and stir to mix.
- Line the ramekins with strips of banana leaves if desired, then line the bottom with steamed cabbage and/or kale and Thai basil.

- Distribute the pieces of fish evenly among the cups.
- Ladle the custard over the fish, leaving at least ½ inch of headroom to allow for some puffing.
- Steam on medium heat for 15-20 minutes or until set.
- Garnish with thickened coconut milk, chilies and cilantro or more julienned makrut lime leaves.
Advance Prep and Storage
This is a great dish to make in advance of a dinner party or just for meal prep. There are a few ways to do it.
- You can steam the whole thing in advance, then re-steam to reheat before serving. Leave the garnish until just before serving.
- The custard mixture can be made ahead of time, without the fish, and kept in the fridge for a few days. Add the fish the day you're cooking.
- If using banana leaves, I recommending cutting and cleaning them ahead of time. I find this part a bit of a hassle cuz it gets messy with all the banana leaf trimmings everywhere, so doing it on a separate day helps. Once cleaned and cut, store in a well-sealed container in the fridge to keep it from drying.
Any leftover haw mok can be kept in the fridge for up to a week. The best way to reheat is to steam, but you can microwave it as well. To microwave, I would use no more than 50% power to ensure the custard is evenly heated through and prevent it from exploding as eggs tend to do in the microwave...so cover it with something!
Haw Mok Modifications
This is a very flexible dish that you can exercise your creativity on. Here are some things to try:
- Change the curry paste. Use green curry paste instead of red curry paste! You can also try other curry pastes as well but green would be the best pairing with seafood.
- Change the protein. Instead of fish, try making haw mok talay which uses a mix of fish, squid, shrimp and sometimes mussels. You can do crab for a luxury version. You can even use chicken or pork, or opt for a no-meat version!
- Change the size. You can make tiny little cups which are always cute and would cook quickly, just make sure you cut the fish down smaller. You can also do one large one in a big dish, which I have done and it ends up looking very impressive, but cooking time will increasing to about 50 minutes so be patient!
- Add different veggies. In this recipe I use cabbage and/or kale, but you can definitely try other things that won't become too watery or mushy.

Thai Steamed Red Curry (haw mok)
Equipment
- 4 6-oz ramekins or another dish of your choice (see note 1)
Ingredients
- 3 tablespoon red curry paste
- 1 ¼ cup coconut milk
- 1 tablespoon palm sugar, finely chopped or grated
- 2 teaspoon fish sauce
- 2 large eggs
- 3 makrut lime leaves, finely julienned
- 5.6 oz any kind of fish filet, ¼-inch sliced (see note 2)
- 1 ½ cups shredded cabbage and/or kale
- 8-12 leaves Thai basil
- Banana leaves, optional
- Jasmine rice, for serving
Garnish
- ¼ cup coconut milk
- ½ teaspoon cornstarch
- sliced red chilies or julienned red bell pepper
- Cilantro leaves
Notes
- You can steam haw mok in anything as long as it's heatproof. The larger the container, the longer it will take to steam, so I recommend using smaller ramekins for a shorter cooking time, but you can also make one large one for a more elegant presentation.
- You can use any type of fish you want for this dish or substitute other seafood such as shrimp, squid, or even mussels (without shell!). If you choose a tender fish like sole, basa, or barramundi, you will get a soft, melt-in-your-mouth custard, while firmer fish like halibut or swordfish will add a slight chew. If you don't eat fish, I recommend chicken cut into bite sized pieces.
FULL VIDEO TUTORIAL
All my recipes come with step-by-step video tutorials with extra tips not mentioned in the blog post, so make sure you watch the video to ensure success. If you enjoy them, consider subscribing to the YouTube Channel to not miss an episode. Thank you!
Subscribe to my YouTube ChannelInstructions
- Preheat the steamer on medium heat.
- In a mixing bowl, add curry paste and just enough coconut milk to dissolve the paste, whisk until smooth. Add the remaining coconut milk, eggs, palm sugar, fish sauce, and kaffir lime leaves; whisk in the same direction without lifting the whisk (this is to avoid whisking in too much air) until the eggs are well combined with the liquid. Add the fish into the custard.At this point, if it's your first time you want to check the seasoning as different brands of curry paste are not equally salty. Put a small amount of the liquid into a heatproof bowl and steam or microwave briefly until cooked. Taste and add more fish sauce if needed.3 tablespoon red curry paste, 1 ¼ cup coconut milk, 1 tablespoon palm sugar, 2 teaspoon fish sauce, 2 large eggs, 3 makrut lime leaves, 5.6 oz any kind of fish filet
- Prep the ramekins: If using banana leaves, measure the length of your ramekin from one edge to the other, and cut a strip of banana leaf along the grain to that length, and make strips just wide enough that it sits flat on the bottom. Wipe clean with a damp cloth. Line the ramekin with one strip, and place the other perpendicular to the first strip.Banana leaves
- Place the cabbage and/or kale into a heatproof bowl and steam it for 3-5 minutes until wilted. Divide the cabbage amongst the ramekins, then add 2-3 Thai basil leaves to each ramekin.1 ½ cups shredded cabbage and/or kale, 8-12 leaves Thai basil
- Distribute the fish evenly into each ramekin, then fill the ramekin with the custard, leaving about ½ inch of headroom.
- Place the ramekins into the steamer and steam over medium heat for 15-20 minutes or until set. The larger your ramekin, the longer it will take.
- While the custard steams, make the garnish. Put cornstarch into a small pot then add a splash of water and stir just until it's all dissolved. Add the coconut milk and stir to mix. Cook over medium high heat, stirring constantly, until it boils and is thickened. Remove from heat and pour into a small bowl; it'll thicken further as it cools½ teaspoon cornstarch, ¼ cup coconut milk
- When the custard is done, it will be puffed up and will not jiggle much when shaken. To serve, spoon a little of the thickened coconut on top, then garnish with cilantro leaves and red chilies. Serve with jasmine rice.sliced red chilies or julienned red bell pepper, Cilantro leaves, Jasmine rice
Moggy says
This dish was new to me. As usual with your recipes it was delicious.
I did want to make you aware of a discrepancy in the instructions though. In step 2 you say to add the fish to the custard. But that is contradicted in step 5 where you instruct to add the fish to the ramekins on top of the cabbage and basil and then cover it with the custard.
Also I think next time i will squeeze the water from the cabbage before placing it in the ramekins, the bottom of my custard was very wet and watery and I think that might prevent that.
Always enjoy your recipes! I will be making this again soon.
Deborah says
The taste was terrific. I did try to make in one container to take for lunch the next day. I found that mine was watery. I used the steamed cabbage and kale and barramundi. I wonder if I should have let the steamed vegetables dry completely prior to assembly. I will make again.
Estella says
Hello Pailin, I would like to ask if it's possible to use chicken or a different kind of meat, as I can't eat seafood or fish? This recipe is so interesting, I'd love to give it a try! Thank you!
Pailin Chongchitnant says
Yes, you totally can use chicken, I recommend dark meat. I wouldn't do pork or beef as you can't precisely control how long the meat cooks and it could overcook.
Ly says
I DO LOVE your posts and recipes!!
Thanks for sharings!
Peter says
Hello Pai,
This looks delicious and I will try it for sure.
One question though: Is it normally eaten on its own or with rice?
Thanks,
Peter
Mike in Chantaburi says
I make my own coconut milk (yeah, from fresh coconuts). Anyway, for the curry itself, are you using 'heads' or 'tails' of the expressed liquid?
Cristine Hafner says
I love custards and I like to use my Instant Pot for steaming. Have you used one for this recipe? Do you know how long to steam it in the Instant Pot?
Pamika says
Hello Chef Pailin. Is there any way to make this dish vegan? I tried searching online and most of them don’t have the right consistency and look very runny. I also see people using rice flour and cornstarch but they seem to be using them in incredible amounts, so I’m not sure whether it will work. If you happen to have the vegan recipe for this, I’ll make sure to give it a try. Thank you!
Pailin Chongchitnant says
Hmmm, not sure but cornstarch would probably be my first guess.
Adam Knight says
Hi Pailin,
I follow your YouTube channel and love your recipes. Just wanted to say that this turned out so well and I even made a vegetarian version with well-drained banana blossom (canned) for a friend who LOVED it. I made sure the blossoms were patted very dry to ensure the liquid didn't release into the curry. Thank you!
Pailin Chongchitnant says
Oh what a great idea using banana blossom!! So glad to hear it went well!
David Stern says
Hi Pai,
I love all your recipes, without fail. I think this one has confused some per serving quantities with "serves 4" quantities. 160 grams of fish is less than 6 ounces, between 4 people and with 1.5 cups of cabbage? Really just a PSA because I have made a TON of your recipes and they are invariably precise in proportions, with this being the only exception I've come across.
Pailin Chongchitnant says
Hi David, thanks for your feedback! I see the confusion here. I was approaching it from a perspective of a Thai meal, and in Thailand, we would never eat only this for the meal. It would just be one of a few other things we serve, which of course, is not how Westerners approach a meal so I will change the serving size to "3 ramekins" and people can decide how many they will make for the meal. Thank you!
Andrea says
If you were to sub chicken or pork would you recommend precooking or just make sure pieces are small?
Pailin Chongchitnant says
I would use chicken, I recommend dark meat, cut into bite size pieces. I wouldn't do pork or beef as you can't precisely control how long the meat cooks and it could overcook.
Ann says
Nobody teach me how to eat it. Before this video, i just eat it without rice and it is nice. Really love it but it is hard to find in Malaysia even when there is a thai event going on. Will try to make it myself. Thanks for sharing the recipe.
Futile Resistance says
Great, stylish meal. Like to make a load of them to spread over multiple days for a quick and easy meal.
Stephen Chan says
This is a classic, and if you wanna make the banana-leaf bowls, actually Pai's book has picture instructions too!