Quick Recipe Version (TL;DR)
Quick Ingredients
- 2 lb (900 g) skin-on pork belly, cut into 1.5-inch chunks
- 6 large eggs
- 3 cups (720 ml) unsweetened coconut water
- Fish sauce: 1/3 cup (80 ml) for braise + 2 tbsp for marinade
- Sugar: 1/4 cup (50 g) for caramel + 2 tsp for marinade
- 1 medium shallot, minced; 4 garlic cloves, minced
- Black pepper: 1.5 tsp, divided
- Very hot water: up to 1/4 cup (60 ml) to loosen caramel if needed
- Cooked jasmine rice, for serving; scallions and optional chiles
Do This
- 1. Hard-boil eggs 10 minutes; ice-bath 5 minutes; peel.
- 2. Marinate pork 15 minutes with 2 tbsp fish sauce, 2 tsp sugar, 1 tsp pepper, garlic, and shallot.
- 3. In a heavy pot, caramelize 1/4 cup sugar with 2 tbsp water over medium heat to deep amber (4–6 minutes).
- 4. Add marinated pork to the caramel; stir 2–3 minutes to coat.
- 5. Add 3 cups coconut water and 1/3 cup fish sauce; simmer gently 50–60 minutes.
- 6. Add peeled eggs (and chiles, optional); simmer 20 minutes, then reduce to a glossy glaze. Finish with pepper; serve over rice.
Why You’ll Love This Recipe
- Classic Vietnamese comfort food with a glossy, caramelized sauce that clings to every bite.
- One pot, pantry-friendly ingredients, big savory-sweet depth from fish sauce and coconut water.
- Hard-boiled eggs soak up the sauce for tender, bronzed “tea eggs.”
- Even better the next day—perfect for make-ahead weeknight dinners.
Grocery List
- Produce: 1 medium shallot, 4 garlic cloves, 2 scallions, 1–2 bird’s eye chiles (optional)
- Dairy: None
- Pantry: Pork belly (2 lb/900 g), eggs (6), unsweetened coconut water (3 cups), fish sauce, granulated sugar or light palm sugar, black pepper, jasmine rice
Full Ingredients
Pork and Marinade
- 2 lb (900 g) skin-on pork belly, cut into 1.25–1.5 inch (3–4 cm) chunks
- 2 tbsp fish sauce
- 2 tsp granulated sugar (or light palm sugar)
- 1 tsp freshly ground black pepper
- 4 garlic cloves, finely minced
- 1 medium shallot, finely minced
Eggs
- 6 large eggs
- Ice and water for cooling
Caramel and Braising Liquid
- 1/4 cup (50 g) granulated sugar
- 2 tbsp water (for caramel)
- Up to 1/4 cup (60 ml) very hot water, to loosen caramel if needed
- 3 cups (720 ml) unsweetened coconut water
- 1/3 cup (80 ml) fish sauce
- 1/2 tsp freshly ground black pepper, plus more to taste
- Optional: 1–2 bird’s eye chiles, split lengthwise
To Serve
- 4 cups cooked jasmine rice (hot)
- 2 scallions, thinly sliced

Step-by-Step Instructions
Step 1: Hard-boil and peel the eggs
Place the eggs in a saucepan and cover with cold water by 1 inch (2.5 cm). Bring to a full boil over medium-high heat. Cover, turn off the heat, and let sit for 10 minutes. Transfer to an ice bath for 5 minutes, then peel and set aside.
Step 2: Cut and marinate the pork belly
Cut pork belly into 1.25–1.5 inch (3–4 cm) chunks. In a bowl, combine pork with 2 tbsp fish sauce, 2 tsp sugar, 1 tsp black pepper, minced garlic, and minced shallot. Toss well and marinate for 15 minutes while you prepare the caramel.
Step 3: Make the caramel (nuoc mau)
In a heavy Dutch oven or deep pot, add 1/4 cup sugar and 2 tbsp water. Cook over medium heat without stirring (swirl occasionally) until the mixture turns a deep amber-mahogany, about 4–6 minutes. Watch closely—the color should resemble strong black tea, not black. If it darkens too fast, lower the heat.
Step 4: Coat the pork in caramel and build the braise
Carefully add the marinated pork (with its aromatics) to the caramel. Stir vigorously for 2–3 minutes to coat; the caramel may seize—this is normal and will dissolve as it braises. Pour in the coconut water and 1/3 cup fish sauce, add 1/2 tsp black pepper, and bring to a boil over medium-high heat. If the caramel seems overly thick, stir in up to 1/4 cup very hot water to loosen.
Step 5: Simmer gently until tender
Reduce the heat to low to maintain a gentle simmer (about 185–195°F / 85–90°C), partially cover, and cook for 50–60 minutes. Stir occasionally and skim any foam or excess fat. The pork should be tender but still hold its shape.
Step 6: Add the eggs and infuse color
Add the peeled eggs and optional chiles. Simmer uncovered for 20 minutes, basting eggs with sauce occasionally so they take on a deep bronze color. Avoid vigorous stirring so the eggs stay intact.
Step 7: Reduce to a glossy finish and serve
Increase heat to medium and reduce the sauce for 8–12 minutes, until syrupy and lacquered, coating the back of a spoon. Taste and adjust: add a splash of water and a pinch of sugar if too salty, or a little fish sauce if you want more savoriness. Finish with a few grinds of black pepper. Serve hot over steamed jasmine rice and garnish with sliced scallions.
Pro Tips
- Caramel color guide: aim for deep amber like black tea; if it turns nearly black, it’s bitter. You can stop the cooking with a splash of very hot water.
- Keep the simmer gentle (barely bubbling). A hard boil can toughen the meat and make the sauce greasy.
- Older eggs peel more easily. For extra flavor, prick each peeled egg once with a toothpick to help the sauce penetrate.
- Use unsweetened coconut water; sweetened versions can make the dish cloying.
- Make-ahead magic: chill overnight, then reheat gently. Skim the solidified fat for a cleaner, lighter sauce.
Variations
- Quail or duck eggs: Swap the chicken eggs for 12–16 quail eggs or 4 duck eggs for a richer, more traditional feel.
- Daikon addition: Add peeled 1-inch daikon chunks in the last 35 minutes of simmering for a subtle sweetness and extra braising veg.
- Leaner cut: Use well-marbled pork shoulder (same weight). Add 1 tbsp oil before caramel if needed and braise 10–15 minutes less.
Storage & Make-Ahead
Refrigerate cooled leftovers in an airtight container for up to 4–5 days; flavors deepen nicely. For longer storage, freeze pork and sauce (without eggs) for up to 2 months; add freshly cooked eggs when reheating. Reheat gently on the stovetop over low heat, adding a splash of water if the sauce is too thick. To reduce richness, chill and lift off the solid fat cap before reheating.
Nutrition (per serving)
Approximate (without rice): 770 calories; 32 g protein; 10 g carbohydrates; 60 g fat; 22 g saturated fat; 1500 mg sodium. Values will vary based on cut, trimming, and how much rendered fat/sauce is eaten.
