You donโt want to miss this authentic Thai steamed fish with lime and garlic; itโs spicy, zesty, and unbelievably full of flavor. Made with fresh cilantro and naturally gluten-free, this is a healthy dinner that comes together quickly, yet feels like dining at a Thai restaurant.

If you love cooking whole fish, you’ll also want to check out this crispy fish with tamarind sauce and pla pao for a grilled version!
Thai lime garlic steamed fish is a traditional dish made by steaming whole fish and pouring over a sauce of lime juice, garlic, chilies, and fresh cilantro. It’s a light, spicy, and tangy dish served hot and often eaten with rice.

What fish is best for steaming?
The best fish for steaming are mild, white-fleshed fish with firm texture, such as sea bass, snapper, tilapia, cod, or grouper. These fish hold their shape well during steaming and absorb flavors without overpowering the dish. Whole fish is often preferred for more moisture and flavor.
Ingredient notes and substitutes
You can find all the ingredients at your local Asian market or grocery store. For precise amounts, check the recipe card at the bottom of this post.

- Fish – Whole white fish like tilapia or snapper works best for Thai lime steamed fish, as it holds moisture and absorbs flavor well.
- Palm sugar – Adds a mild sweetness that balances the acidity and heat; light brown sugar can be used if palm sugar isnโt available.
- Fish sauce – Adds saltiness and umami. I prefer the Megachef brand.
- Garlic
- Lime – Fresh lime juice is key to the bright, sour flavor in this dish; bottled juice wonโt give the same effect.
- Cilantro
- Chinese celery
- Lemongrass – Steamed with the fish to add a citrusy aroma
- Chilies – I use Thai Jinda chilies. You can adjust the type and quantity based on your spice preference.
How to make Thai steamed fish with lime and garlic
Step 1: Clean and prep the fish. Make sure the fish is gutted and thoroughly cleaned. Use a sharp knife to make 3 to 4 diagonal cuts on each side, this helps it cook evenly and lets the flavors soak in. Stuff the belly with lemongrass for extra aroma while steaming.

Step 2: Steam the fish. Place the fish in a steamer and steam for 15โ20 minutes, depending on the size. The flesh should be opaque and flake easily with a fork when itโs done.

Step 3: Make the lime garlic sauce. Using a mortar and pestle, pound the garlic, coriander root, and chilies until fine. Add palm sugar, fish sauce, and fresh lime juice. Stir everything together to form one sauce.

Step 4: Assemble and serve. Transfer the steamed fish to a serving plate. Spoon the sauce generously over the top and garnish with fresh coriander and celery. Serve your Thai lime fish right away with jasmine rice.
How long to steam fish?
Whole fish should be steamed for 10 to 25 minutes, depending on its weight. Use the chart below to determine the ideal steaming time based on fish size:
Fish Weight | Steaming Time |
400โ600 g | 10โ15 minutes |
700โ900 g | 15โ20 minutes |
1โ1.2 kg | 20โ25 minutes |
Make sure the fish is cleaned, gutted, and scored. The fish is done when the flesh is opaque and flakes easily with a fork.
How to reheat steamed fish
The best way to reheat steamed fish is to steam it again for 5 to 7 minutes until warmed through. Place the fish in a steamer over boiling water, cover, and heat gently to avoid drying it out. Avoid microwaving, as it can make the fish rubbery and unevenly heated.
More Thai fish recipes you’ll love
This Thai steamed fish recipe with lime and garlic is simple, healthy, and full of bold, fresh flavor. It tastes just like we serve it in Thai homes and seafood restaurants. If you make it, Iโd love to hear how it turns out, leave a comment and let me know! Follow me on social media:ย Facebook,ย Instagram, andย Pinterest.
Thai Steamed Fish With Lime and Garlic

Equipment
- Knife and cutting board
- steamer
Ingredients
- 2 lb fish, tilapia
- 5 1/2 tbsp fresh lime juice
- 5 tbsp fish sauce
- 1 tbsp palm sugar, chop to measure
- 10 cloves garlic, minced
- 10 chilies, to taste
- 1/3 cup coriander, chopped
- 2 coriander root
- 1/3 cup celery, chopped
- 2 stalks lemongrass, sliced in half
Instructions
- Make sure the fish is cleaned and gutted. Create 3 to 4 diagonal incisions on each side of the fish to allow even cooking. Fill the fishโs abdominal with lemongrass.
- Steam the fish for 15 to 20 minutes. Adjust the time based on the fishโs size (check the table in the post).
- Pound garlic, coriander root, and chilies with a mortar and pestle. Add palm sugar, fish sauce, fresh lime juice and mix into 1 sauce.
- After steaming, transfer the steamed fish to a serving dish and top with the sauce. Garnish with coriander and celery. Serve immediately.
Notes
- Use the nutrition card in this recipe as a guideline