A beloved Thai classic, whole fish is fried until shatteringly crisp, then crowned with a glossy sweet-sour-spicy chili sauce loaded with garlic, Thai chilies, palm sugar, and a splash of lime. Serve it family-style with steamed jasmine rice to soak up every drop of the fragrant sauce.
Prep Time20 mins
Cook Time25 mins
Total Time45 mins
Servings4
Yield1 whole fried fish (4 servings)
Nutrition Facts
Per serving (estimated)
- 495 kcalCalories
- 24 gFat
- 4 gSaturated Fat
- 38 gCarbs
- 2 gFiber
- 18 gSugar
- 34 gProtein
- 980 mgSodium
- 720 mgPotassium
- 95 mgCalcium
- 3 mgIron
- 28 mgVitamin C
- 220 mcgVitamin A
Ingredients
For the fish
- 1 whole sea bass or snapper (about 2 lb / 900 g), scaled and gutted, head and tail intact
- 1 tablespoon kosher salt
- 1/2 teaspoon white pepper
- 1/2 cup all-purpose flour
- 1/2 cup cornstarch
- 4 cups neutral oil (such as peanut or canola), for frying
For the chili sauce
- 8 cloves garlic, finely minced
- 10 Thai red chilies, finely chopped (seeds partly removed for milder heat)
- 3 tablespoons palm sugar, finely chopped (or brown sugar)
- 3 tablespoons fish sauce
- 2 tablespoons tamarind paste
- 2 tablespoons fresh lime juice
- 1/4 cup water
For garnish
- 1 cup fresh Thai sweet basil leaves
- 1/4 cup cilantro sprigs
- 2 Thai red chilies, thinly sliced on the bias
- 1 tablespoon crispy fried shallots
- 1 tablespoon crispy fried garlic
Directions
- Pat the fish completely dry with paper towels, then make 3 deep diagonal slashes on each side, cutting just to the bone. Season inside and out with salt and white pepper, and let rest for 10 minutes.
- Combine the flour and cornstarch on a large plate. Dredge the fish thoroughly, pressing the coating into the slashes so it adheres well; shake off excess.
- Heat the oil in a deep wok or heavy pot to 350°F (175°C). Carefully lower the fish in head-first and fry for 8 to 10 minutes, basting the top with hot oil. Flip carefully and fry another 6 to 8 minutes until deep golden and crisp. Transfer to a paper-towel-lined rack and keep warm.
- While the fish rests, wipe out the wok and return it to medium heat with 2 tablespoons of the reserved frying oil. Add the garlic and chopped chilies and stir-fry for 30 to 45 seconds until fragrant but not browned.
- Add the palm sugar, fish sauce, tamarind paste, lime juice, and water. Stir constantly and simmer for 2 to 3 minutes until the sugar dissolves and the sauce thickens to a glossy, syrupy consistency that coats the back of a spoon.
- Taste and adjust the balance: more palm sugar for sweetness, more lime for sharpness, more fish sauce for saltiness, or more chilies for heat.
- Place the fried fish on a warmed serving platter. Spoon the hot chili sauce generously over the top, letting it pool around the fish.
- Scatter the basil leaves, cilantro, sliced chilies, crispy fried shallots, and crispy fried garlic over and around the fish. Serve immediately with steamed jasmine rice.
- For the crispiest skin, serve within 5 minutes of saucing; the steam will soften the crust if it sits too long.
Cook’s Notes
- Choose a fish with firm, white flesh and a sturdy skin like sea bass, snapper, or tilapia so it holds up to deep-frying whole.
- Make sure the fish and coating are completely dry before frying; any moisture will cause violent splattering and a less-crisp crust.
- For extra crunch, double-fry the fish: fry at 325°F for 6 minutes, rest 5 minutes, then fry again at 375°F for 3 minutes until deep golden.
- Tamarind paste gives the sauce its signature tangy depth; substitute with 2 tablespoons lime juice plus 1 teaspoon brown sugar if unavailable.
- Adjust the chili quantity to taste. Removing the seeds from the chilies will tame the heat while keeping the fruity flavor.










