Vietnamese Whole Fish Recipe: Aromatic Herbs and Crispy Skin Delight

Vietnamese Whole Fish Recipe: Aromatic Herbs and Crispy Skin Delight

This Vietnamese whole fish recipe transforms a simple ingredient into an aromatic centerpiece with minimal effort. I developed this method after testing multiple techniques to achieve that signature crispy skin while keeping the flesh tender.

The secret lies in scoring the fish before cooking, allowing the marinade to penetrate deeply. A hot pan ensures the skin crisps perfectly, while fresh herbs and fish sauce create layers of authentic flavor that define Vietnamese cuisine.

You’ll end up with a dish that’s visually stunning and packed with bold, balanced flavors. The skin stays shatteringly crispy, while the inside remains moist and flaky, soaking up every bit of the fragrant marinade.

Serve with steamed rice and fresh vegetables for a complete meal that brings restaurant-quality results to your home kitchen.

👨‍🍳
Difficulty
Medium
🐟
Diet
Seafood
⏱️
Total Time
30 min
🔥
Calories
Med Cal

Ingredients for Vietnamese Whole Fish

Fresh herbs and bold flavors make this dish shine with minimal effort.

Ingredient Amount Notes
Whole White Fish 🐟 2 lb Fresh, scaled and gutted
Fish Sauce 🫒 3 tbsp Vietnamese variety preferred
Fresh Lemongrass 🌿 2 whole Bruised, cut into 3-inch pieces
Fresh Ginger 🌿 1 whole Peeled, sliced into thin strips
Shallots 🧅 4 whole Thinly sliced for marinade
Garlic Cloves 🧄 4 cloves Minced for depth of flavor
Fresh Thai Basil 🌿 1 cup Loosely packed, for garnish
Fresh Cilantro 🌿 ½ cup Chopped, stems included
Fresh Mint 🌿 ½ cup Leaves only, for freshness
Lime 🍈 2 whole Cut into wedges for serving
Vegetable Oil 🫒 ½ cup High smoke point for frying
Sugar 🍚 1 tbsp Balances fish sauce saltiness
Black Pepper 🌶️ 1 tsp Freshly ground preferred
Kosher Salt 🧂 1 tsp For seasoning fish cavity
Jasmine Rice 🍚 2 cups Uncooked, for serving

[recipe_ingredient_scaler]

The fish is everything here—whole snapper or sea bass works best (about 2 lbs total). Look for bright eyes, firm flesh, and no fishy smell at the counter. Asian markets often have the freshest selection, but any trusted fishmonger will do. Lemongrass and ginger should be firm and fragrant—avoid any that are dried out or mushy. Freshness is non-negotiable for the herbs (basil, cilantro, mint), so grab them the day you plan to cook.

No lemongrass? Lemon zest plus a touch of lime gets you close but not quite the same. Fish sauce is key—Red Boat or Three Crabs are solid brands. If you’re out of Thai basil, regular basil works (though the flavor profile shifts). The sugar balances the fish sauce’s saltiness, but honey or coconut sugar can sub in a pinch. For the rice, jasmine is traditional, but any long-grain white rice does the trick.

The fish is best cooked the same day, but you can prep the marinade ingredients 1 day ahead. Leftovers keep for 2 days max in the fridge—reheat gently to avoid drying out. Fresh herbs don’t store well, so use them up quickly or freeze in water for 1 week.

❤️

Why You’ll Love This Recipe

  • One Pan Wonder: I just toss the fish, lemongrass, ginger and shallots on a tray and let the oven do the work.
  • Flavor Bomb: That first bite of crispy fish skin with the punchy hit of fish sauce and aromatic lemongrass? Ridiculously good.
  • Feeds a Crowd: I served this at our last family dinner—everyone got a portion, and the platter was empty in minutes.
  • Leftovers Magic: Honestly, the fish tastes even better the next day flaked into rice or noodles.

Step-by-Step Instructions for Vietnamese Whole Fish

Here’s the method I use to achieve that perfect crispy skin and aromatic depth.

Step 1: Prepare and Score the Whole White Fish

Pat the 2 lb Whole White Fish completely dry inside and out with paper towels. I can’t stress this enough—moisture is the enemy of crispy skin. Make 3-4 diagonal slashes on each side of the fish, cutting down to the bone. This helps the marinade penetrate and allows heat to cook the fish evenly.

Rub the cavity with 1 tsp Kosher Salt and 1 tsp Black Pepper. I like to stuff the cavity with a few pieces of the bruised Fresh Lemongrass and some of the sliced Fresh Ginger for extra aroma. Let it sit at room temperature for 15 minutes while you prepare the marinade.

Step 2: Create the Aromatic Marinade

In a bowl, combine 3 tbsp Fish Sauce, 1 tbsp Sugar, 4 thinly sliced Shallots, and 4 minced Garlic Cloves. The sugar balances the saltiness of the fish sauce while the shallots and garlic build layers of flavor. Stir until the sugar dissolves completely—this should take about 2 minutes.

Pour this marinade over the fish, making sure to coat both sides and get some inside the slashes and cavity. I use my hands for this to ensure every part gets covered. Let it marinate for 20 minutes—you’ll start to see the fish absorb the flavors and the skin take on a slight sheen.

Step 3: Pan-Fry for Crispy Skin

Heat 0.5 cup Vegetable Oil in a large skillet over medium-high heat until it shimmers but doesn’t smoke. Carefully place the fish in the pan and cook undisturbed for 5-6 minutes. You’ll know it’s ready to flip when the skin is golden brown and crispy, and the fish releases easily from the pan.

Gently flip the fish using two spatulas (or a fish spatula if you have one) and cook the other side for another 5-6 minutes. Spoon some of the hot oil over the fish occasionally to help cook the top and create extra crispiness. The flesh should flake easily when tested with a fork.

Step 4: Rest and Garnish

Transfer the fish to a serving platter and let it rest for 5 minutes. This allows the juices to redistribute, keeping the meat moist. While it rests, arrange the 1 cup Fresh Thai Basil, 0.5 cup Fresh Cilantro, and 0.5 cup Fresh Mint around the fish for a vibrant presentation.

Serve the fish whole, family-style, with the 2 whole Lime cut into wedges on the side for squeezing. I always serve this with 2 cups Jasmine Rice to soak up the flavorful juices. The skin should be so crispy it crackles when cut, while the flesh remains tender and fragrant with the herbs and aromatics.

👨‍🍳

Pro Tips For Making Vietnamese Whole Fish

  • Score the Fish: Make 2-3 diagonal cuts on each side of the fish before cooking—this lets the lemongrass and ginger penetrate deeper and cook more evenly.
  • Bruise the Lemongrass: Smash the lemongrass stalks with the flat of your knife before adding them; it releases way more aroma than leaving them whole.
  • Skip Overcrowding: If pan-frying, don’t flip the fish too soon—I learned this the hard way—wait until the skin is crisp and releases easily, about 4-5 minutes per side.
  • Balance the Fish Sauce: Use 1 part fish sauce to 1 part water in your marinade, or it’ll be unpleasantly salty; sounds simple, but it’s the thing that matters most for the right flavor.

Perfect Pairings for This Dish

Rice Companions

Steamed jasmine rice is non-negotiable here—it soaks up the fish’s savory juices like a flavor sponge. I cook 2 cups with a 1:1.5 rice-to-water ratio for perfect fluffiness. For extra aroma, add a pandan leaf or lemongrass stalk to the cooking water. 🌟

Fresh Herb Salad

Toss leftover Thai basil, cilantro, and mint with lime juice and a drizzle of fish sauce for a bright side. This herb salad cuts through the richness and adds a refreshing contrast to each bite of crispy fish.

Pickled Vegetables

Quick-pickle carrots and daikon in rice vinegar, sugar, and salt for 30 minutes before serving. The tangy crunch complements the fish’s richness. I use a 1:1:1 ratio of vinegar, water, and sugar for the brine.

Dipping Sauce

Mix 3 tbsp fish sauce, 2 tbsp lime juice, 1 tbsp sugar, and 1 minced garlic clove for a classic nuoc cham. Adjust sweetness to taste—this sauce ties all the flavors together beautifully.

Light Beer Pairing

A crisp Vietnamese lager like Bia Saigon or 333 cleanses your palate between bites. The light malt flavor doesn’t compete with the fish’s delicate seasoning. For non-alcoholic, try jasmine iced tea. 🍺

Nutrition Facts

Servings 4
Amount Per Serving
Calories 420kcal
% Daily Value
Total Fat 18g23%
Saturated Fat 3g15%
Cholesterol 120mg40%
Sodium 980mg43%
Total Carbohydrate 22g8%
Dietary Fiber 3g11%
Sugars 2g
Protein 38g76%
Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently Asked Questions

1

What type of fish works best for this recipe?

Whole snapper or sea bass (about 2 lb) are ideal. Look for bright eyes, firm flesh, and no fishy odor.

2

Can I skip the lemongrass?

Lemon zest plus lime juice can substitute in a pinch, but fresh lemongrass adds authentic aroma. Asian markets usually carry it fresh.

3

How do I get extra crispy skin?

Pat the fish completely dry, score the skin, and use medium-high heat with ample oil. Avoid moving it too soon in the pan.

4

What if my marinade tastes too salty?

Balance it with an extra 1 tsp sugar or a splash of lime juice. Taste as you go—fish sauce varies in saltiness.

★★★★★4.6(6 reviews)
Chef Melanie

More recipe sites