Culinary Explorer

A cooking platform built around craft, culture, and the stories behind what we eat.

Discover Culinary Explorer
Red BBQ Pork on Rice (Khao Moo Daeng)

Red BBQ Pork on Rice (Khao Moo Daeng)

Created by

Cantonese char siu crossed the sea with Chinese migrants and landed on Thai rice plates. The pork is Chinese. The gravy, the prik nam som on the side, the jasmine rice underneath: that's Thailand claiming the dish as its own.

Main Dishes
Thai
Weeknight
Quick Meal
30 min
Active Time
45 min cook1 hr 15 min total
Yield4 servings

Khao moo daeng is a Chinese dish that became Thai the moment a vendor put prik nam som (chili vinegar) on the table next to it.

Ajarn always said that Thai cuisine is a system, not a collection. When Cantonese migrants brought char siu to Bangkok, Thai cooks didn't just copy it. They ran it through the system. The pork kept its red fermented bean curd marinade, its honey glaze, its hanging-oven char. But the gravy got sweeter to match Thai palate logic. The rice became Thai jasmine, fragrant and long-grained. And the condiment caddy appeared: sliced bird's eye chilies in white vinegar, the sour-heat counterpoint that turns a Chinese roast meat plate into a Thai lunch. That condiment is the Thai flavor system asserting itself. Sour from vinegar. Heat from chili. Balance on demand.

I eat khao moo daeng at least twice a week. Yaowarat at lunch, when the vendors have been slicing pork since dawn and the gravy pot has been simmering all morning. The best stalls don't have menus. You sit down, they put a plate in front of you: sliced moo daeng fanned over rice, a ladle of sweet red gravy soaking into the grains, half a boiled egg, cucumber slices for crunch, maybe a few pieces of moo krob (crispy pork belly) if you nod when they hold up the tongs. The whole thing costs less than your morning coffee. Single-dish mastery. One plate, perfected over decades.

The gravy is where most home versions fail. Nam raat (the poured sauce) is not ketchup. It's not hoisin. It's a thin, sweet, savory glaze built from the roasting juices of the pork itself, stretched with stock, sweetened with sugar, darkened with soy, and thickened just enough to coat the rice without drowning it. Get the gravy right and you're halfway to Yaowarat. Get it wrong and you've got sliced pork on plain rice. Principles, not recipes.

Khao moo daeng traces directly to Cantonese char siu (叉燒), brought to Bangkok by Chinese migrants, primarily Cantonese and Teochew, during the late 19th and early 20th centuries. Yaowarat Road (Bangkok's Chinatown, established 1891) became the epicenter of Chinese-Thai food adaptation, where roast meat shops modeled on Hong Kong and Guangzhou originals began serving sliced char siu over jasmine rice with a Thai-sweetened gravy. The addition of prik nam som (chili vinegar) as a tableside condiment, absent from the Cantonese original, marks the dish's naturalization into the Thai street food system.

The technique, the tradition, and the story behind every dish.

Discover Culinary Explorer

Ingredients

pork neck (kor moo) or pork shoulder

Quantity

600g

one piece, about 2 inches thick

red fermented bean curd (tao hoo yi daeng / nam yoo)

Quantity

2 tablespoons

mashed

honey

Quantity

2 tablespoons, plus extra for glazing

oyster sauce

Quantity

1 tablespoon

light soy sauce (si ew khao)

Quantity

1 tablespoon

dark soy sauce (si ew dam)

Quantity

1 teaspoon

five-spice powder (phong pha lo)

Quantity

1 teaspoon

garlic

Quantity

4 cloves

minced

white pepper

Quantity

1/2 teaspoon

Shaoxing wine

Quantity

1 tablespoon

red food coloring (optional)

Quantity

1/2 teaspoon

pork or chicken stock

Quantity

1 cup

granulated sugar

Quantity

3 tablespoons

light soy sauce (si ew khao), for gravy

Quantity

1 tablespoon

dark soy sauce (si ew dam), for gravy

Quantity

1 teaspoon

white vinegar or red vinegar

Quantity

1 tablespoon

five-spice powder (phong pha lo), for gravy

Quantity

pinch

salt

Quantity

pinch

tapioca starch

Quantity

1 tablespoon

mixed with 2 tablespoons water

steamed jasmine rice (khao suay)

Quantity

for serving

hard-boiled eggs

Quantity

2

halved

cucumber

Quantity

1

sliced into rounds

crispy pork belly (moo krob) (optional)

Quantity

for serving, store-bought

bird's eye chilies (prik khi nu)

Quantity

4

sliced into rounds, for chili vinegar

white vinegar, for chili vinegar condiment

Quantity

3 tablespoons

Equipment Needed

  • Wire roasting rack and baking tray
  • Small saucepan for gravy
  • Pastry brush for honey glaze
  • Sharp slicing knife

Instructions

  1. 1

    Mix the marinade

    Mash the red fermented bean curd in a bowl until it forms a smooth paste. This is the soul of moo daeng. That funky, salty, brick-red fermented curd is what separates real khao moo daeng from pork with food coloring on it. Add the honey, oyster sauce, light soy sauce, dark soy sauce, five-spice powder, white pepper, minced garlic, Shaoxing wine, and red food coloring if using. Mix everything together. The marinade should be dark red, thick, and smell like a Yaowarat roast meat shop. If it doesn't smell like anything, your bean curd is too old.

    Red fermented bean curd (tao hoo yi daeng) comes in jars at any Chinese or Thai grocery store. The cubes sit in red liquid. Use the cubes AND the liquid. That's where the color and flavor live. No bean curd, no moo daeng. There's no substitute.
  2. 2

    Marinate the pork

    Score the pork lightly in a crosshatch pattern, about half a centimeter deep. This lets the marinade penetrate. Coat the pork completely in the marinade, working it into the cuts with your hands. Place it in a sealed container or zip-lock bag and refrigerate for at least 4 hours. Overnight is better. The fermented bean curd needs time to work its way into the meat. Patience here is what separates a good moo daeng from a great one.

    Pork neck (kor moo) is the cut every Yaowarat vendor uses. It has enough fat marbling to stay juicy through high-heat roasting. Pork loin works but dries out faster. If you use loin, pull it from the oven a few minutes earlier.
  3. 3

    Roast the pork

    Preheat your oven to 220°C (425°F). Set a wire rack over a baking tray lined with foil. Place the pork on the rack and pour a cup of water into the tray below to catch drippings and prevent smoking. Roast for 20 minutes. Pull it out, brush a thin layer of honey all over the surface, and return to the oven. Roast another 15 minutes. Pull it again, brush with honey one more time. Put it back for a final 5 to 8 minutes, watching it closely. You want the edges caramelized and slightly charred, the honey glaze tacky and dark, the surface glistening. That's the char. That's what you're here for. The internal temperature should hit 65°C (150°F).

    Traditional moo daeng is roasted hanging vertically in a charcoal oven, like Cantonese char siu. Your home oven on a rack is the closest approximation. If you have a grill with a lid, even better. The key is high, dry heat and the honey glaze building up in layers.
  4. 4

    Rest and slice

    Rest the pork for 10 minutes. Don't skip this. The juices redistribute and the meat firms up enough to slice cleanly. Collect any drippings from the pan and the resting board. Those go straight into the gravy. Slice the pork against the grain, about half a centimeter thick. You want pieces thin enough to drape over rice but thick enough to show the pink center and the red-glazed edges. If there's no pink center, you overcooked it. Next time, pull it earlier.

  5. 5

    Make the red gravy

    This is the nam raat (น้ำราด), the poured sauce. It makes or breaks the plate. In a small saucepan, combine the stock, sugar, light soy sauce, dark soy sauce, vinegar, pinch of five-spice, salt, and all the collected pork drippings. Bring to a simmer over medium heat, stirring until the sugar dissolves. Taste it. It should be noticeably sweet, lightly salty, with a whisper of vinegar sharpness. Give the tapioca starch slurry a stir and pour it in slowly, stirring constantly. The gravy should thicken to the consistency of thin maple syrup. It coats a spoon but runs off slowly. Too thick and it sits on the rice like paste. Too thin and the rice doesn't absorb it. Add red food coloring for the traditional hue if you want. Let it simmer another minute.

    The gravy is sweet. Sweeter than you think it should be. That's correct. The sweetness against the salty-savory pork and the sour-spicy prik nam som is the balance of the whole plate. If you dial down the sugar in the gravy, the dish falls flat. Trust the system.
  6. 6

    Make the chili vinegar

    Slice the bird's eye chilies into thin rounds and drop them into the white vinegar in a small dish. That's it. Prik nam som (พริกน้ำส้ม). This is where the Thai flavor system enters the Chinese-origin plate. Sour from the vinegar, heat from the chili, applied by the eater at the table. This condiment is non-negotiable. Without it, you're eating char siu on rice. With it, you're eating khao moo daeng.

  7. 7

    Assemble the plate

    Pack a bowl of jasmine rice and invert it onto a melamine plate or a regular plate if you don't have melamine. Fan the sliced moo daeng alongside the rice mound, showing the red glaze and the pink center. Place a halved boiled egg next to the pork. Scatter cucumber rounds on the side. If you have moo krob, add a few pieces for crunch. Ladle the warm red gravy generously over the pork and rice. Let it soak in. The rice should turn slightly pink where the gravy pools. Serve the prik nam som on the side. Tell whoever's eating to spoon it over the pork to taste. Sit down, eat fast, get back to work. That's how Bangkok does lunch.

Chef Tips

  • Red fermented bean curd (tao hoo yi daeng) is the ingredient that makes moo daeng taste like moo daeng. It's a Chinese fermented product, salty and pungent, preserved in red rice yeast. You'll find it in jars in the Chinese section of any Asian grocery. No substitution. Hoisin sauce is not the same thing. Red food coloring alone is not the same thing. The fermented funk is the flavor.
  • The gravy (nam raat) should be made with the actual drippings from roasting the pork. Those caramelized, honey-glazed pan juices carry concentrated flavor that stock alone can't provide. Scrape every bit from the foil, the rack, and the resting board. If you lose the drippings, your gravy will taste like sweet soy water.
  • Moo krob (crispy pork belly) is a whole separate production: brined, dried, deep-fried, the works. Don't try to make it as part of this recipe. Buy it from a Chinese roast meat shop or an Asian grocery deli counter. The textural contrast of crispy pork belly against the soft, glazed moo daeng and gravy-soaked rice is part of the design. If you can get it, get it.
  • Prik nam som (chili vinegar) is the Thai signature on this Chinese-origin plate. Sliced chilies in white vinegar. Every khao moo daeng stall in Bangkok has a jar of it on the table, alongside sugar, chili flakes, and sometimes fish sauce. The sour-heat cuts through the sweetness of the gravy. That's the balance. That's the system at work even on a dish that didn't originate in Thailand.

Advance Preparation

  • The pork must marinate for a minimum of 4 hours. Overnight (8 to 12 hours) is ideal. The red fermented bean curd and five-spice need time to penetrate. Plan accordingly.
  • Roasted moo daeng keeps well in the refrigerator for up to 3 days. Slice cold and reheat gently, or serve at room temperature. Many Yaowarat vendors slice from pork that was roasted hours earlier.
  • The red gravy can be made up to 2 days ahead and refrigerated. It may thicken as it cools. Thin it with a splash of stock when reheating.
  • Prik nam som (chili vinegar) improves after sitting for a few hours. Make it in the morning, use it at lunch. The chilies release more heat into the vinegar over time.

Frequently Asked Questions

Nutrition Information

1 serving (about 440g)

Calories
755 calories
Total Fat
27 g
Saturated Fat
9 g
Trans Fat
0 g
Unsaturated Fat
17 g
Cholesterol
205 mg
Sodium
1260 mg
Total Carbohydrates
87 g
Dietary Fiber
1 g
Sugars
23 g
Protein
37 g

Note: Chef personas and recipes are created with AI assistance. Cook with care: follow safe food-handling practices, check doneness with a thermometer when needed, and adapt for allergies and your kitchen.

Where cooking meets culture.

Culinary guides, cultural storytelling, and the editorial depth that makes cooking meaningful.

Discover Culinary Explorer

More from Thai Street Food Masters

Browse the full collection