
Craving something cozy, coconutty, full of Thai red curry flavor, and a little fancy without actually being hard? Let me tell you what you want, Hor Mok!
It’s a soft Thai steamed fish custard made with red curry paste, coconut milk, eggs, white fish, makrut lime leaves, and a little bed of cabbage or kale underneath. It puffs up as it steams, gets topped with a silky coconut cream, and tastes like a Thai curry hugged a custard.
Sounds strange if you’ve never had it before? I get it.
But trust me, dear. If you love off the typical Thai menu items that have Thai red curry, coconut milk, and tender white fish, this one is so worth trying!
What Is Hor Mok?
Hor Mok is a Thai steamed curry custard that’s usually made with fish or seafood, red curry paste, coconut milk, eggs, and fragrant herbs like makrut lime leaves. The mixture is spooned into banana leaf cups or ramekins, then steamed until soft, savory, and custardy.
In Thailand, you’ll often see it made with fish, shrimp, squid, or mixed seafood. It’s rich and full of flavor, but still feels light because it’s steamed instead of fried
“Hor” means to wrap, and “mok” refers to a traditional way of cooking food wrapped in banana leaves with gentle, indirect heat, like under ashes or over charcoal. These days, Hor Mok is usually steamed in banana leaf cups or ramekins, but the name still points back to that old-school Thai cooking method.
Why You’ll Love This Hor Mok Recipe
- Authentic Thai flavor taught to you by a Thai cooking class instructor, aka me Sherri!
- Made in ramekins, so no banana leaf cup folding skills required
- Perfect for Thai food lovers who want to try something beyond Pad Thai and curry!
Hor Mok Ingredients You’ll Need
- 2-3 tbsp red curry paste, to taste, less if you don’t like it as spicy – Start with 2 tbsp if you’re sensitive to spice, and use 3 tbsp if you want a bolder red curry flavor.
- 1.5 cups coconut milk – Makes the custard creamy, rich, and dreamy.
- 2 eggs – Helps the mixture steam into that soft custard texture.
- 8 oz. white fish, thinly chopped – Cod is my favorite for a mild, clean flavor. Tilapia works too! And many Thai versions use whatever seafood is fresh, like shrimp, squid, salmon, or a mix.
- 1 tbsp fish sauce, to taste, add less or more depending on your curry paste saltiness– Adds salty, savory Thai depth.
- 1 tbsp palm sugar or brown sugar – Balances the curry paste and fish sauce.
- 3 makrut lime leaves, thinly sliced – These add that citrusy Thai fragrance. Remove the tough center stem before slicing.
- 1.5 cups shredded cabbage or kale – This goes in the bottom of the ramekins and soaks up all that curry coconut flavor.
- 8 Thai basil leaves – They add a sweet, peppery Thai basil flavor as everything steams together.
- Banana leaves (optional)– Line the ramekins with these if you want that classic Thai aroma and pretty presentation. Shiny side up!
Coconut Cream Topping
- 1/2 tsp cornstarch – Thickens the coconut cream topping.
- 1 tbsp water – Helps dissolve the cornstarch before adding the coconut milk.
- 1/4 cup coconut milk – Turns into the creamy topping.
- Red bell peppers or fresh red Thai chilies, thinly sliced – Adds a pretty red pop on top.
- 2 makrut lime leaves, julienned – Optional, but so beautiful and fragrant on top.
- Cilantro leaves –Optional, to add a bright freshness
How to Make Hor Mok
Step 1: Preheat your steamer
Preheat your steamer over medium heat while you prep the rest of your ingredients, so it’s ready to go as soon as your ramekins are filled.
Step 2: Dissolve the curry paste
In a mixing bowl, add 2-3 tbsp red curry paste and just a little of the 1.5 cups coconut milk. Stir until the curry paste loosens up and dissolves into the coconut milk.
If you add all the coconut milk at once, the curry paste likes to hide in little clumps, and then you have to chase it around the bowl. No fun!
Step 3: Mix the custard
Add the remaining 1.5 cups coconut milk, 2 eggs, 1 tbsp palm sugar or brown sugar, 1 tbsp fish sauce, and 3 thinly sliced makrut lime leaves.
Stir until everything is well combined.
Step 4: Add the fish
Add 8 oz thinly chopped white fish to the curry mixture. Stir until the fish is evenly mixed into the custard base. You can also put it all in a blender it for a smoother custard, but Thai Hubby prefers little pieces of fish.
Step 5: Prep the ramekins
If using banana leaves, wipe them clean with a damp towel. Cut or tear them into strips that fit inside the four ramekins, then tuck them in shiny side up.
If you don’t have banana leaves, no worries! Just use the ramekins without them.
Step 6: Add the greens
Divide 1.5 cups shredded cabbage or kale and 8 or so Thai Basil leaves evenly between the ramekins.
This creates a little veggie bed under the fish custard, and it soaks up all that red curry coconut goodness as it steams.
Step 7: Fill the ramekins
Spoon the fish mixture into each ramekin, leaving about 1/2 inch of headroom at the top.
Don’t fill them all the way to the brim because the custard will puff up as it steams.
Step 8: Steam
Place the ramekins in the preheated steamer.
Steam for 15 to 20 minutes, or until the custard is cooked through.
You’ll know it’s ready when the custard is puffed up and the center does not jiggle. A little liquid coming out when you poke it with a knife is okay, but the center shouldn’t look runny.
Step 9: Make the coconut cream topping
While the custards are steaming, make the coconut cream topping.
In a small bowl, stir together 1/2 tsp cornstarch and 1 tbsp water until dissolved. In a small pot, warm 1/4 cup coconut milk over medium heat. Once it reaches a gentle boil, stir in the cornstarch mixture and cook, stirring often, until thickened. Remove from heat.
Step 10: Top and serve
Once the custards are cooked through, spoon the thickened coconut cream on top.
Garnish with thinly sliced red bell peppers or red Thai chilies and 2 julienned makrut lime leaves, and/ or cilantro leaves, if using.
Serve warm with jasmine rice, and enjoy every soft, coconutty, curry-filled bite!

Additions and Substitutions
- Cod substitute: Tilapia, and many Thai versions use whatever seafood is fresh, like shrimp, squid, salmon, or a mix.
- Palm sugar substitute: Brown sugar
- Cabbage substitute: Napa cabbage, kale, or spinach.
- Makrut lime leaves substitute: A little lime zest, or leave it out if you can’t find them
- Red curry paste substitute: Panang curry paste
- Banana leaves substitute: Skip them and use ramekins only
- Red bell pepper or red Thai chili substitute: red jalapeños
- Coconut milk substitute: Coconut cream thinned with a little water. Heavy cream can work in a pinch.
Tips for the Best Hor Mok
- Make sure your steamer has enough water. Before you start steaming, check that there’s enough water in the bottom of your pot or steamer to last 15–20 minutes, but not so much that it touches the ramekins.
- Keep the steam gentle and steady. Medium heat is perfect. You want a steady steam, but not a wild, aggressive boil that rattles the ramekins around. Gentle steam helps the custard cook evenly and keeps the texture soft.
- Cover the steamer well. A tight-fitting lid helps trap the steam so the custard sets properly. If your lid drips a lot of condensation, you can wrap the lid in a clean kitchen towel before covering the steamer, just make sure the towel is tied up safely and not near the heat.
- Check the texture, not just the time. Hor Mok is done when it’s puffed up, mostly set in the center, and no longer loose or watery. A little liquid coming out when you poke it with a knife is okay, but the center shouldn’t look raw or runny.
- Don’t expect a firm baked custard. This is supposed to be soft, steamy, and delicate. Think tender Thai red curry custard, not cheesecake or quiche. If it holds together but still feels soft and spoonable, you did it right.
Behind the Hor Mok Recipe
Hor Mok is one of those Thai dishes that might sound a little weird at first because it’s a steamed fish custard.
I know.
Fish custard does not exactly sound like the most appetizing phrase in English!
I usually make Thai recipes at home that Thai Hubby and I both adore, and this one rarely came up in the lineup. If you remember, Thai Hubby isn’t a huge curry fan. He ate it so much growing up in Thailand that he got a little burned out on it, and especially this dish!
But recently, a Thai cooking class requested Hor Mok, so I decided it was time to try making it at home again.
And since it had been so long, Thai Hubby actually enjoyed it and felt all the nostalgia come rushing back.
And you know who loved it way more than I expected?
My four kids!
They kept going back for more, and I’m sure the fact that it looked pretty didn’t hurt either.
Of course, I did not lead with, “Children, please come eat your steamed fish custard.”
So that might have helped!
Maybe we all need to come together on an English name re-brand for Hor Mok, like Steamed Thai Red Curry Cups or Thai Coconut Curry Fish Cups. Any thoughts??
Whatever you want to call it, my kids ate it, loved it, and I was delighted, and I’m sure you will be too dear!
Hor Mok Frequently Asked Questions
Hor Mok is a Thai steamed red curry custard usually made with fish or seafood, coconut milk, eggs, red curry paste, fish sauce, and makrut lime leaves. It’s soft, savory, coconutty, and often steamed in banana leaf cups or ramekins.
In Thai, “mok” refers to a traditional cooking method where food is wrapped, often in banana leaves, and cooked gently with steam or indirect heat.
Not always. Thai red curry is usually medium spicy, but the heat depends on the curry paste and how much you use. Thai green curry is often considered hotter, while yellow curry and Massaman curry are usually milder.
It tastes like a creamy Thai red curry in soft custard form. It’s coconutty, savory, gently spicy, and fragrant from the makrut lime leaves.
It depends on your red curry paste. Most versions are mild to medium spicy. If you’re sensitive to heat, use less curry paste.
Mild white fish works best. Cod is a great choice because it has a clean, mild flavor. Tilapia, haddock, pollock, snapper, or halibut can also work.
It’s best served warm and fresh from the steamer, but you can prep the ingredients ahead. Mix and steam closer to when you want to serve it for the best texture.
Want more Thai curry flavors?
- Thai Panang Curry Paste – The flavor base of all so many amazing Thai dishes!
- Quick Thai Salmon Red Curry – Creamy, bold, and weeknight-friendly.
- Beef Panang Curry – Rich, nutty, coconutty, and one of my favorite cozy Thai curries.
- Massaman Curry Paste – A warm, comforting Thai spice blend perfect for rich curries.
Let’s stay in touch dear!
And if you want to learn how to make it in person, come join one of my Thai cooking classes in Boone, NC!
Love learning Thai kitchen tips? Sign up for my Thai-Foodie Substack newsletter and get my free Substitution Hacks Guide download, your cheat sheet for swapping Thai ingredients no matter where you live!
If you make it, I want to see! Take a pic and tag me on Instagram @thaifoodie!
Print
Hor Mok Recipe: Red Curry Fish Custard
- Total Time: 30 minutes
- Yield: 4–5 Ramekins 1x
- Diet: Gluten-Free
Description
Make Hor Mok, a soft Thai red curry fish custard steamed with coconut milk, tender fish, Thai basil, and makrut lime leaves. Cozy and so flavorful!
Ingredients
2–3 tbsp red curry paste, to taste, less if you don’t like it as spicy
1.5 cups coconut milk
2 eggs
8 oz white fish, thinly chopped
1 tbsp fish sauce, to taste
1 tbsp palm sugar or brown sugar
3 makrut lime leaves thinly sliced
1.5 cups shredded cabbage or kale
8 Thai basil leaves
Banana leaves, optional
Coconut Cream Topping
1/2 tsp cornstarch
1 tbsp water
1/4 cup coconut milk
Red bell peppers or fresh red Thai chilies, thinly sliced
2 makrut lime leaves, julienned, optional
Cilantro leaves, optional
Instructions
Preheat your steamer over medium heat while you prep the rest of your ingredients, so it’s ready to go as soon as your ramekins are filled.
In a mixing bowl, add 2-3 tbsp red curry paste and just a little of the 1.5 cups coconut milk. Stir until the curry paste loosens up and dissolves into the coconut milk.
If you add all the coconut milk at once, the curry paste likes to hide in little clumps, and then you have to chase it around the bowl. No fun!
Add the remaining 1.5 cups coconut milk, 2 eggs, 1 tbsp palm sugar or brown sugar, 1 tbsp fish sauce, and 3 thinly sliced makrut lime leaves.
Stir until everything is well combined.
Add 8 oz thinly chopped white fish to the curry mixture. Stir until the fish is evenly mixed into the custard base. You can also put it all in a blender it for a smoother custard, but Thai Hubby prefers little pieces of fish.
If using banana leaves, wipe them clean with a damp towel. Cut or tear them into strips that fit inside the four ramekins, then tuck them in shiny side up.
If you don’t have banana leaves, no worries! Just use the ramekins without them.
Step 6: Add the greens
Divide 1.5 cups shredded cabbage or kale and 8 or so Thai Basil leaves evenly between the ramekins.
This creates a little veggie bed under the fish custard, and it soaks up all that red curry coconut goodness as it steams.
Spoon the fish mixture into each ramekin, leaving about 1/2 inch of headroom at the top.
Don’t fill them all the way to the brim because the custard will puff up as it steams.
Place the ramekins in the preheated steamer.
Steam for 15 to 20 minutes, or until the custard is cooked through.
You’ll know it’s ready when the custard is puffed up and the center does not jiggle. A little liquid coming out when you poke it with a knife is okay, but the center shouldn’t look runny.
While the custards are steaming, make the coconut cream topping.
In a small bowl, stir together 1/2 tsp cornstarch and 1 tbsp water until dissolved. In a small pot, warm 1/4 cup coconut milk over medium heat. Once it reaches a gentle boil, stir in the cornstarch mixture and cook, stirring often, until thickened. Remove from heat.
Once the custards are cooked through, spoon the thickened coconut cream on top.
Garnish with thinly sliced red bell peppers or red Thai chilies and 2 julienned makrut lime leaves, and/ or cilantro leaves, if using.
Serve warm with jasmine rice, and enjoy every soft, coconutty, curry-filled bite!
Notes
Additions and Substitutions
- Cod substitute: Tilapia, and many Thai versions use whatever seafood is fresh, like shrimp, squid, salmon, or a mix.
- Palm sugar substitute: Brown sugar
- Cabbage substitute: Napa cabbage, kale, or spinach.
- Makrut lime leaves substitute: A little lime zest, or leave it out if you can’t find them
- Red curry paste substitute: Panang curry paste
- Banana leaves substitute: Skip them and use ramekins only
- Red bell pepper or red Thai chili substitute: red jalapeños
- Coconut milk substitute: Coconut cream thinned with a little water. Heavy cream can work in a pinch.
Tips for the Best Hor Mok
- Make sure your steamer has enough water. Before you start steaming, check that there’s enough water in the bottom of your pot or steamer to last 15–20 minutes, but not so much that it touches the ramekins.
- Keep the steam gentle and steady. Medium heat is perfect. You want a steady steam, but not a wild, aggressive boil that rattles the ramekins around. Gentle steam helps the custard cook evenly and keeps the texture soft.
- Cover the steamer well. A tight-fitting lid helps trap the steam so the custard sets properly. If your lid drips a lot of condensation, you can wrap the lid in a clean kitchen towel before covering the steamer, just make sure the towel is tied up safely and not near the heat.
- Check the texture, not just the time. Hor Mok is done when it’s puffed up, mostly set in the center, and no longer loose or watery. A little liquid coming out when you poke it with a knife is okay, but the center shouldn’t look raw or runny.
- Don’t expect a firm baked custard. This is supposed to be soft, steamy, and delicate. Think tender Thai red curry custard, not cheesecake or quiche. If it holds together but still feels soft and spoonable, you did it right.
Hey dear! If you make this recipe and love it, would you leave a quick comment and rating? Your reviews help other readers discover the recipes that build connection around the table. Thank you so much!
- Prep Time: 10
- Cook Time: 20
- Category: Curry, Dinner
- Method: Steaming
- Cuisine: Thai
This post contains links to affiliate websites, such as Amazon, and I receive an affiliate commission for any purchases made by you using these links. I appreciate your support!

Love finally having this recipe for this! It’s a hidden gem for sure!