This coconut steamed fish is a fast weeknight delight. Fish fillets are coated in a creamy coconut curry paste, then steamed over greens until just cooked through. A drizzle of bright cilantro oil over the top at the end, rice that steams while you get the fish ready, and you’ve got something that looks and tastes genuinely impressive for roughly 25 minutes start to finish.
The whole thing: fish, greens, sauce and rice, can be made in your steam oven at the same time, which makes it one of the most efficient weeknight dinners in my rotation.

Why does this coconut steamed fish work so well in a steam oven?
Steaming is one of the gentlest ways to cook fish, and a steam oven means you don’t have temperature fluctuations that lead to uneven cooking results. The fish cooks evenly and stays moist and tender, while the coconut curry marinade/rub keeps things rich and moist. The greens wilt beautifully underneath the fish, so everything finishes together in one dish with minimal cleanup.
As an Amazon affiliate I earn from qualifying purchases. This post may also contain other affiliate links, which means I may earn a commission if you click through and make a purchase, at no additional cost to you.
Coconut steamed fish: ingredients and substitutions
See the recipe card further down for full method and ingredient quantities.

- White fish fillets: Almost any firm, boneless fish fillets will work here. Halibut, grouper, snapper, cod and hake are all great choices. Salmon works well too if that’s what you have — it can handle the bold flavors of the curry paste and ginger.
- Coconut cream: Use a good quality, thick coconut cream with no added water. It’s usually the most expensive one on the shelf, with just pure coconut listed in the ingredients. In Australia I use Ayam brand, but I’ve also had success with Aroy-D, which appears to available in more global markets. Steaming will thin the coconut cream, so starting with a watered-down coconut cream will leave you with something that doesn’t stick to the fish and isn’t as flavorful.
- Thai green curry paste: Green curry is the first choice here, but red, yellow or massaman paste all work well if you’d prefer a different flavor profile. If you don’t want a really spicy dish, you can halve the curry paste quantity.
- Swiss chard or kale: These sturdy greens hold up well under the fish without turning to mush. Either works; just trim the stems and roughly chop the leaves before adding to the dish.
- Cilantro oil: Blending cilantro with peanut oil takes just a minute and gives the finished dish a vibrant green finish and an intense herby flavor. If you’d rather skip it, just tear the cilantro leaves over the fish as it comes out of the oven — still delicious.
Coconut steamed fish variations
This recipe is easy to adapt once you’ve got the basic method down.
Swap the Thai green curry paste for red, yellow or massaman paste depending on what you have or how much heat you want.
Try it with salmon fillets instead of white fish for a richer, more robust version.
Swap the Swiss chard for baby spinach for a more delicate green, or use bok choy or gai lan for a more Asian-leaning finish.
How to make coconut steamed fish
View, save and print the recipe card further down in this post; read on for the visual walk-through.

Choose a baking dish large enough to hold the fish and greens — stainless steel or enamel work best as they conduct heat quickly. Get your rice ready and into the oven, then turn it on to heat up.
2. Coat the fish
Mix the coconut cream, curry paste, ginger and brown sugar together in a large bowl. Add the fish fillets and turn to coat well.

Add Swiss chard or kale to the baking dish and lay the fish fillets over the top. Spread any extra coconut curry marinade over and around the fish, scatter the chili over the top and tuck lime slices around the fish.

Cook until the fish is just cooked through and the greens are wilted, about 10 minutes depending on the thickness of your fillets. The fish is done when it flakes easily with just a hint of resistance.

While the fish cooks, blend the cilantro leaves with the peanut oil until you have a bright green oil. This takes about a minute in a small blender.
6. Serve
Serve the fish, greens and any cooking juices with the rice, straight onto warmed plates. Drizzle with the cilantro oil and add extra lime for squeezing at the table.
Tips for success
Use a lightweight baking dish that conducts heat quickly — a heavy ceramic or glass dish will slow things down and make it harder to time the fish accurately.
Don’t skip the lime slices tucked around the fish while it cooks. They infuse the sauce with a subtle citrus note that lifts the whole dish.
If you’re cooking rice at the same time, put it in the oven as you switch it on to preheat. It’ll be ready at roughly the same time as the fish — see the recipe notes for timing.
Thin fish fillets (around 1/2 inch/12mm) will cook in 8–9 minutes; thicker fillets may need up to 15. Check early rather than late.
Coconut steamed fish serving suggestions
- Add extra lime wedges at the table for squeezing — the acidity is a great contrast to the richness of the coconut cream.
- A simple cucumber salad or extra steamed greens on the side make a fresh, cooling contrast to the warmth of the curry paste.
This coconut steamed fish is the kind of recipe that earns a permanent spot in your weeknight dinner rotation; it’s fast, healthy, and flavorful enough to feel like a treat even on a Tuesday.

Spread the word
If you’ve made and enjoyed this recipe (or any others on the site!), would you leave a review and rating? Reviews are incredibly helpful to other cooks, and help me understand the sorts of content you enjoy or questions you have. You can rate and review any recipe by clicking the star icons at the top of the recipe card.

Quick Coconut Steamed Fish and Rice
Ingredients
- 1 1/2 cups jasmine rice or other long grain rice
- 1/2 cup coconut cream see notes
- 1/4 cup Thai green curry paste or other curry paste, see notes
- 1 Tbsp minced fresh ginger
- 1 tbsp brown sugar
- 4 boneless white fish fillets approx 6oz/180g each, see notes for recommendations
- 1 bunch Swiss chard or kale, stems trimmed, leaves roughly chopped into bite-sized pieces
- 1 long red chilli finely sliced
- 1 lime thinly sliced, plus extra lime wedges for serving
- 1 bunch cilantro/coriander leaves picked
- 1/4 cup peanut oil or light olive oil
Instructions
- Put the rice and 2 1/4 cups water (room temp is fine) into a wide, shallow dish. Give it a quick stir so the rice is evenly spread across the bottom, and put it into the cold oven. Preheat your oven to Steam, 212°F/100°C (100% steam), and set the timer for 15 minutes.1 1/2 cups jasmine rice
- Mix the coconut cream, curry paste, ginger and brown sugar together in a large bowl. Add the fish and turn to coat.1/2 cup coconut cream, 1/4 cup Thai green curry paste , 1 Tbsp minced fresh ginger, 1 tbsp brown sugar, 4 boneless white fish fillets
- Put the Swiss chard or kale into a baking dish (something that will conduct heat quickly like stainless steel or enamel is better – glass/ceramic can give uneven results with steamed fish). The dish should be large enough to comfortably hold the greens and fish. Lay the fish fillets over the top of the greens. Spread any leftover marinade from the bowl over and around the fish and greens. Scatter the chilli over the top and tuck lime slices around the fish.1 bunch Swiss chard, 1 long red chilli, 1 lime
- When the 15 minute timer for the rice sounds, put the fish in the oven (leave the rice in, it's not done yet!). Steam until the fish is just cooked through, and the greens are wilted, about 10 minutes depending on the thickness of the fish. The thickest part of the fish should flake with a fork when it's done. At this point, the rice has had 25 minutes and should be cooked through – if the fish needs another minute or two, remove the rice and fluff it while you wait for the fish.
- While the fish and rice is cooking, blend the cilantro/coriander leaves with the oil in a small blender, to make a bright green cilantro oil.1 bunch cilantro/coriander, 1/4 cup peanut oil
- When the fish is done, serve immediately on warmed plates with the greens and rice. If the juices in the pan look a little watery, give them a quick stir to mix the coconut solids in, and it will become more creamy-looking. Drizzle juices and the cilantro oil over each serving, and add extra lime for squeezing at the table.1 1/2 cups jasmine rice
Notes
- Fish. You can use just about any firm boneless fish fillets in this recipe. I have specified white fish (think halibut, grouper, snapper, trevalla, cod, hake), but salmon actually works well too, and can handle the bold flavors of the curry paste and ginger. Thin fillets, around 1/2 inch (12mm) thick, will take about 8-9 minutes to cook, while thicker fillets up to about 15 minutes. The best way to check is to wiggle a fork or a butter knife in the thickest part of the fish – if it flakes easily with just a hint of resistance, it’s done.
- Coconut cream. Plump for a real, no-water-added, thick coconut cream here (it’s usually the most expensive one on the shelf, and the ingredients will list just pure coconut). In Australia, I use Ayam brand. Steaming is going to thin out the sauce and the flavor somewhat, so if you start with a watered down coconut cream you’ll end up with a really thin and not very vibrant sauce.
- Curry paste. Spicy green curry is my favorite for this dish, but you can swap it for red, yellow or massaman curry paste instead, if you like. I like Maesri brand pastes, widely available in small cans in many parts of the world. The quantity given makes a spicy dish; if you want it less spicy you can halve the quantity of paste.
- Cilantro/coriander oil. This adds a lovely green finish and intense coriander flavor, but if you can’t be bothered getting out the blender, I won’t judge you. Just rip up the coriander and shower it over the fish as it comes out of the steam oven, and omit the oil.