Quick Recipe Version (TL;DR)
Quick Ingredients
- 4 skinless white fish fillets (cod, sea bass, snapper), 5–6 oz each
- 1/2 tsp kosher salt; 1/4 tsp white pepper
- 1 lemongrass stalk or 3 cabbage leaves (to line steamer, optional)
- 1/3 cup fresh lime juice; 2 tbsp fish sauce; 1 1/2 tbsp palm or light brown sugar
- 5 garlic cloves, very finely minced; 2–3 Thai chiles, finely chopped
- 1/4 cup unsalted chicken stock or water; 1 tbsp finely chopped cilantro stems
- 1/2 cup cilantro leaves; lime wedges for serving
Do This
- 1. Bring 2 inches of water to a boil in a lidded pot with steamer; line basket with lemongrass or cabbage. Keep at a lively simmer.
- 2. Pat fish dry; season both sides with salt and white pepper. Place on a heatproof plate or directly in the basket.
- 3. Whisk lime juice, fish sauce, and sugar until dissolved; stir in garlic, chiles, cilantro stems, and stock/water.
- 4. Steam fish, covered, 8–10 minutes until just opaque and 130–135°F in the thickest part.
- 5. Stir 1–2 tbsp hot steaming liquid into the sauce; taste and balance with more lime, fish sauce, or sugar as needed.
- 6. Transfer fish to a warm platter; spoon sauce over the top.
- 7. Garnish with cilantro leaves; serve immediately with lime wedges and jasmine rice.
Why You’ll Love This Recipe
- Bright, balanced flavors: zesty lime, savory fish sauce, and garlicky heat.
- Light yet satisfying—perfect for weeknights or a dinner party centerpiece.
- Steaming keeps the fish incredibly tender and moist.
- Customizable heat level and easy to scale up for guests.
Grocery List
- Produce: Limes, garlic, Thai bird’s eye chiles (or serranos), cilantro, lemongrass (optional), cabbage leaves (optional)
- Dairy: None
- Pantry: Fish sauce, palm or light brown sugar, unsalted chicken stock (or water), kosher salt, white pepper, jasmine rice (optional)
Full Ingredients
Fish
- 4 skinless white fish fillets (cod, sea bass, snapper), 5–6 oz each
- 1/2 tsp kosher salt
- 1/4 tsp white pepper
To Steam
- 3 cups water (plus more as needed)
- 1 lemongrass stalk, split lengthwise, or 3 cabbage leaves (to line the steamer; prevents sticking and subtly perfumes the fish)
Lime–Garlic–Chili Sauce
- 1/3 cup fresh lime juice (80 ml; about 3–4 limes)
- 2 tbsp fish sauce
- 1 1/2 tbsp palm sugar or light brown sugar
- 5 garlic cloves, very finely minced (or microplaned)
- 2–3 Thai bird’s eye chiles, finely chopped (seeded for less heat), or 1–2 serrano chiles
- 1/4 cup unsalted chicken stock or water
- 1 tbsp finely chopped cilantro stems
Garnish & Serving
- 1/2 cup lightly packed cilantro leaves
- 1 lime, cut into wedges
- Steamed jasmine rice, for serving (optional)

Step-by-Step Instructions
Step 1: Set up your steamer
Fill a large pot with 3 cups water (about 2 inches deep) and bring to a boil. Fit with a steamer basket or rack, making sure the water does not touch the basket. Line the basket with split lemongrass or cabbage leaves to prevent sticking and lightly perfume the fish. Reduce to a lively simmer and keep covered until ready to steam.
Step 2: Season the fish
Pat the fish fillets very dry with paper towels. Season both sides with 1/2 teaspoon kosher salt and 1/4 teaspoon white pepper. Place the fillets in a single layer on a heatproof plate that fits your steamer, or directly on the lined basket. If using a plate, make sure it is slightly rimmed to catch juices.
Step 3: Make the lime–garlic–chili sauce
In a small bowl, whisk together the lime juice, fish sauce, and palm sugar until the sugar fully dissolves (30–60 seconds). Stir in the minced garlic, chopped chiles, cilantro stems, and stock or water. Taste and adjust: you want a bright balance—salty, sour, sweet, and spicy. Set aside; the garlic will gently infuse while the fish steams.
Step 4: Steam the fish gently
Carefully transfer the fish (on its plate, if using) into the steamer. Cover and steam for 8–10 minutes, depending on thickness, until the fish is just opaque and flakes easily with a fork, or registers 130–135°F (54–57°C) in the thickest part. Avoid overcooking for the most delicate texture.
Step 5: Finish and balance the sauce
Lift out the fish and keep warm. Pour 1–2 tablespoons of the hot steaming liquid from the plate or pot into the sauce and stir; this lightly warms and rounds the flavors. Taste again and fine-tune: add a splash more lime for brightness, a few drops of fish sauce for savoriness, or a pinch of sugar if it’s too tart.
Step 6: Sauce, garnish, and serve
Transfer the fish to a warm platter. Spoon the lime–garlic–chili sauce generously over the fillets, making sure each piece gets some garlic and chile. Scatter with cilantro leaves and serve immediately with lime wedges and hot jasmine rice.
Pro Tips
- Balance is key: the sauce should taste zingy but not harsh. Always taste and adjust at the end.
- For milder garlic, briefly warm the mixed sauce in a small saucepan for 30–60 seconds—do not boil—then cool slightly.
- Use a thermometer if you can: pull fish at 130–135°F for silky, moist results.
- Plate on a shallow, rimmed platter so the sauce can pool around the fish without spilling.
- If steaming directly on a rack, a cabbage leaf liner prevents sticking and tearing.
Variations
- Whole fish: Use a 1 1/2–2 lb whole sea bass, cleaned and scaled. Steam 12–15 minutes to 130–135°F at the backbone. Increase sauce by 50%.
- Oven method: Place seasoned fillets in a baking dish with 2 tbsp water; cover tightly with foil and bake at 400°F for 10–12 minutes. Spoon warm sauce over to serve.
- Mellow heat: Swap Thai chiles for 1 small jalapeño, seeded, or reduce to taste; you can also add 1–2 tsp honey for a rounder sweetness.
Storage & Make-Ahead
The sauce can be prepared up to 2 days ahead and refrigerated; stir and adjust with fresh lime before serving. Cooked fish is best eaten right away but can be refrigerated in an airtight container for up to 1 day. Reheat gently by steaming 2–3 minutes or warming in a 275°F oven for 8–10 minutes, then re-sauce. Avoid microwaving, which can overcook the delicate fish.
Nutrition (per serving)
Approx. 200 calories; 33 g protein; 3 g fat; 9 g carbs; 770 mg sodium; 6 g sugars. Nutrition will vary based on fish type and exact seasoning.


Leave a Reply