Lanna's kreung tam breaks every Central Thai rule: dried spices from Burmese trade routes enter the mortar, ginger replaces galangal, and coconut milk arrives as a highland exception. This is Chiang Mai in a bowl.
Soups & Stews
Thai
Comfort Food
Weeknight
45 min
Active Time
35 min cook•1 hr 20 min total
Yield4 servings
Khao soi is the dish that proves Thai cuisine is not one system. It's several. And the Lanna kreung tam is the proof.
Ajarn always said: understand the paste, understand the food. But he also said the paste changes when you cross a mountain range. Central Thai curry pastes are built on galangal, lemongrass, kaffir lime, shrimp paste. The Lanna kreung tam for khao soi throws half of that out. In come dried spices: coriander seed, cumin, star anise, turmeric. Ginger takes the seat that galangal holds in the south. These are ingredients that walked into Northern Thailand along Burmese and Yunnanese trade routes centuries ago and never left. When you pound a khao soi paste, you're pounding the history of the Silk Road's southern branch into a mortar.
Here's what most people don't know: coconut palms don't grow in the northern highlands. Most Lanna curries use no coconut milk at all. They're water-based, herb-forward, lighter than anything you'd eat in Bangkok. Khao soi is the exception, one of only two or three Burmese-influenced dishes that brought coconut north. So when you crack that coconut cream in the wok and fry the paste until the oil separates and the whole kitchen smells like a Chiang Mai lunch stall in December, you're cooking something that doesn't belong to the mountains by nature. It belongs by trade, by migration, by the Shan people who carried it across the border and the Lanna cooks who made it theirs.
The four pillars hold, but they flex. Nam pla (fish sauce) for salt. Nam tan pip (palm sugar) for sweet, though Lanna cooks use it with a lighter hand. Lime juice on the side, not in the pot, because the krueng prung condiment tray is where the eater takes control: pickled mustard greens for sour-salt crunch, raw shallots for bite, roasted chili paste for extra heat, lime wedge to squeeze over. Khao soi is a collaborative dish. You build the base. The person eating finishes it. That's Northern Thai hospitality encoded into the food itself.
I teach this dish at every Fai Thai workshop. It's the one that makes people understand that Thai food is not a single menu. It's a federation of regional systems, each with its own kreung tam logic. The mortar is still everything. The principles still hold. But the spices in the mortar change depending on which mountains you can see from your kitchen window.
Khao soi arrived in Northern Thailand via the Shan States of Myanmar and Yunnan's Muslim Hui traders, likely in the late 19th or early 20th century. The name itself may derive from the Burmese-Shan word for cut noodles, referencing the hand-cut wheat noodles of Yunnanese origin. Chiang Mai's version, with its coconut curry broth and crispy noodle crown, diverged significantly from the Shan original (a clearer, tomato-based broth with hand-rolled noodles) as Lanna cooks adapted it to local tastes, adding their own dried-spice kreung tam and the now-iconic krueng prung condiment tray of pickled mustard greens, shallots, lime, and chili oil.
The technique, the tradition, and the story behind every dish.
seeded and soaked in warm water for 15 minutes, drained
shallots
Quantity
3 tablespoons
thinly sliced
garlic
Quantity
5 cloves
fresh ginger (khing)
Quantity
1 tablespoon
sliced
lemongrass (takhrai)
Quantity
2 stalks
tender inner part only, thinly sliced
coriander seeds (met phak chi)
Quantity
1 tablespoon
toasted
cumin seeds (yira)
Quantity
1 teaspoon
toasted
star anise (poy kak)
Quantity
2 whole
toasted
turmeric (khamin)
Quantity
1 teaspoon ground or 1 tablespoon fresh, sliced
fermented shrimp paste (kapi) or tua nao
Quantity
1 teaspoon
white peppercorns
Quantity
1/2 teaspoon
ground cinnamon
Quantity
pinch
coconut cream (hua kathi)
Quantity
400ml
thick top layer from 1 can
thin coconut milk (hang kathi)
Quantity
400ml
bone-in chicken thighs or drumsticks
Quantity
500g
skin on
fish sauce (nam pla)
Quantity
2 tablespoons, plus more to taste
palm sugar (nam tan pip)
Quantity
1 tablespoon
dark soy sauce (si ew dam)
Quantity
1/2 teaspoon
fresh egg noodles (ba mee)
Quantity
400g
300g for boiling, 100g for frying
vegetable oil
Quantity
for deep-frying
pickled mustard greens (phak kat dong)
Quantity
for serving
chopped
shallots
Quantity
3 small
sliced into rings
limes
Quantity
2
quartered
Thai roasted chili paste (nam prik pao) or fried dried chili flakes in oil
Quantity
for serving
fresh cilantro leaves (optional)
Quantity
for garnish
Ingredient
Quantity
dried long red chilies (prik haeng)seeded and soaked in warm water for 15 minutes, drained
7
shallotsthinly sliced
3 tablespoons
garlic
5 cloves
fresh ginger (khing)sliced
1 tablespoon
lemongrass (takhrai)tender inner part only, thinly sliced
2 stalks
coriander seeds (met phak chi)toasted
1 tablespoon
cumin seeds (yira)toasted
1 teaspoon
star anise (poy kak)toasted
2 whole
turmeric (khamin)
1 teaspoon ground or 1 tablespoon fresh, sliced
fermented shrimp paste (kapi) or tua nao
1 teaspoon
white peppercorns
1/2 teaspoon
ground cinnamon
pinch
coconut cream (hua kathi)thick top layer from 1 can
400ml
thin coconut milk (hang kathi)
400ml
bone-in chicken thighs or drumsticksskin on
500g
fish sauce (nam pla)
2 tablespoons, plus more to taste
palm sugar (nam tan pip)
1 tablespoon
dark soy sauce (si ew dam)
1/2 teaspoon
fresh egg noodles (ba mee)300g for boiling, 100g for frying
400g
vegetable oil
for deep-frying
pickled mustard greens (phak kat dong)chopped
for serving
shallotssliced into rings
3 small
limesquartered
2
Thai roasted chili paste (nam prik pao) or fried dried chili flakes in oil
for serving
fresh cilantro leaves (optional)
for garnish
Equipment Needed
•Heavy granite mortar and pestle (krok hin) for pounding the kreung tam
•Wok or heavy-bottomed pot for the curry
•Small pot or deep pan for frying the crispy noodles
•Spider strainer or slotted spoon
•Spice grinder or second mortar for grinding toasted whole spices
Instructions
1
Toast the dried spices
In a dry wok or small pan over medium heat, toast the coriander seeds, cumin seeds, star anise, and peppercorns. Keep them moving. Two minutes, maybe three. You'll know they're done when the coriander seeds darken a shade and the whole kitchen smells like a Chiang Mai spice stall. Warm, earthy, slightly smoky. Let them cool, then grind to a powder in a spice grinder or the mortar. These dried spices are what make this a Lanna kreung tam, not a Central Thai one. This is the Burmese influence in your mortar.
Toast whole spices, then grind. Pre-ground spices are dead spices. The volatile oils in coriander and cumin evaporate within weeks of grinding. Fresh-toasted, fresh-ground: that's where the aroma lives.
2
Pound the kreung tam
Start with the soaked, drained dried chilies and a pinch of salt in your granite mortar (krok hin). Pound to a rough paste. Add the garlic and shallots. Pound again. Then the ginger and lemongrass. Pound until fibrous but integrated. Now add the toasted ground spices, turmeric, cinnamon, and the kapi (or tua nao if you're going full Lanna). Pound everything together until you have a coarse, fragrant paste with visible flecks of spice. It should be rust-orange from the turmeric and chilies. The aroma should be warm and complex: ginger forward, not galangal. Cumin and coriander humming underneath. That's how you know you've crossed the mountains.
Ajarn always said the kreung tam tells you when it's ready. When the aroma fills the room and every ingredient has given up its oil into the paste, you're there. For khao soi paste, that means you should smell ginger and toasted spice, not raw garlic. If the garlic still smells sharp, keep pounding.
3
Crack the coconut cream
Set your wok over medium-high heat. Pour in the thick coconut cream (hua kathi, the solid layer from the top of the can, not the watery liquid beneath). Stir it slowly. After 5 to 7 minutes, the cream will split. You'll see pools of clear, fragrant oil separating on the surface. This is called 'cracking' the coconut cream, and it is non-negotiable. If you dump the paste into uncracked cream, the curry tastes flat, oily in the wrong way, and the spices never bloom. The cracked oil is what fries the paste. It's the medium that transforms raw aromatics into something that belongs in a broth.
If your coconut cream won't crack, it's been over-stabilized with emulsifiers. Look for brands with minimal additives. The ingredient list should be: coconut, water. That's it. Thai brands like Aroy-D or Chaokoh in the carton tend to split beautifully.
4
Fry the paste
Add all of the kreung tam to the cracked coconut oil. Stir constantly. Fry for 3 to 4 minutes until the paste darkens slightly and the oil takes on the rust-orange color of the turmeric. The raw garlic smell should be gone, replaced by a deep, roasted spice aroma. You should see oil pooling at the edges of the paste. That separation is the signal. The paste is cooked.
5
Braise the chicken
Nestle the chicken pieces into the fried paste, skin side down. Turn them to coat. Let the skin sear against the wok for 2 minutes. Then pour in the thin coconut milk (hang kathi). Add the fish sauce, palm sugar, and dark soy sauce. Stir once. Bring to a gentle boil, then lower the heat to a steady simmer. Cover loosely and cook for 25 to 30 minutes until the chicken is tender and nearly falling off the bone. The broth should be rich, golden-orange, with a thin layer of curry oil floating on top. Taste the broth. Adjust: more fish sauce if it needs depth, a pinch more palm sugar if the spices are too sharp. The balance should be creamy, savory, gently warm from the chilies, with the toasted spices carrying the finish.
Bone-in, skin-on chicken is the standard for khao soi. The bones give body to the broth. The skin melts into the coconut curry. Boneless chicken breast will give you a thinner, less satisfying bowl. Use thighs or drumsticks. Accept no substitutes.
6
Fry the crispy noodle crown
While the chicken braises, heat about 3 inches of vegetable oil in a small pot to 180°C (350°F). Take 100g of the egg noodles, pull them apart into a loose nest, and lower them into the hot oil. They'll puff and curl within 15 to 20 seconds, turning golden and rigid. Flip once. Remove with a spider strainer and drain on paper. They should shatter when you bite down. These aren't decoration. They're textural contrast: the crispy against the soft noodle, the dry crunch against the wet curry. If they go soggy, you put them on too early. They go on last, right before serving.
If you don't have a thermometer, drop a single strand of noodle into the oil. It should sizzle and puff immediately. If it sinks and sits, the oil is too cold. If it burns within seconds, too hot. Steady medium heat.
7
Cook the soft noodles
Bring a pot of water to a boil. Cook the remaining 300g of egg noodles according to the package, usually 2 to 3 minutes for fresh ba mee. They should be tender but still have bite. Drain, rinse briefly with warm water to remove excess starch, and divide among four bowls.
8
Assemble and serve
Place a nest of soft noodles in each bowl. Ladle the hot curry broth over the noodles, making sure each bowl gets a piece or two of chicken and plenty of that golden curry oil. Crown each bowl with a tangle of crispy fried noodles. Scatter cilantro if you like. Serve immediately with the krueng prung tray on the side: pickled mustard greens (phak kat dong), sliced raw shallots, lime wedges, and roasted chili paste or fried chili flakes in oil. These condiments aren't optional. They're part of the dish. The Northern Thai tradition of adjusting at the table is built into the food itself. The sourness from the pickled greens cuts through the coconut fat. The raw shallot adds sharpness. The lime brightens everything. The chili paste deepens the heat. Tell your guests to use all of them. That's how khao soi is eaten in Chiang Mai.
Chef Tips
•Khao soi paste is fundamentally different from every Central Thai curry paste. It includes dried spices: coriander seed, cumin, star anise, turmeric, cinnamon. Things you won't find in a Bangkok green curry. This is Northern Thai, and the influence of Myanmar and Yunnan is in every bite. Regional differences aren't trivia. They're the architecture of the dish. If you use a Central Thai red curry paste, you've made a different bowl entirely.
•Ginger, not galangal. That's the Lanna rule. Galangal dominates Central and Southern Thai pastes. In the North, fresh ginger (khing) takes the lead. It's sharper, more pungent, and pairs with the dried spices in a way that galangal doesn't. If a khao soi recipe calls for galangal, someone has confused their regions.
•Tua nao (fermented soybean disc) is the Lanna alternative to kapi (shrimp paste). Some khao soi cooks use it, some use kapi, some use both. Tua nao gives a deeper, funkier umami that's distinct from the sea-brine of shrimp paste. If you can find tua nao at a Northern Thai grocery, try it. It changes the character of the paste. It's the flavor of the mountains, not the coast.
•The crispy noodles on top aren't decoration. They're textural contrast that defines the dish. Fry a handful of the same egg noodles until they puff and curl, drain on paper, set them on top at the last second. They should shatter when you bite down. If they're soggy, you put them on too early or your oil wasn't hot enough.
•Serve khao soi with the traditional krueng prung (เครื่องปรุง) condiment tray: pickled mustard greens (phak kat dong), sliced shallots, lime wedges, and chili oil or roasted chili flakes. These aren't suggestions. They're part of the dish. The Northern Thai tradition of adjusting at the table is built into the food itself. Eating khao soi without the krueng prung is like eating som tam without sticky rice: technically possible, completely wrong.
•Most Lanna curries contain no coconut milk because coconut palms don't grow in the northern highlands. Khao soi is the exception, a Burmese-influenced dish that carried coconut north. Respect the exception by using good coconut cream and cracking it properly. This is one of the few times a Northern Thai cook reaches for coconut, so make it count.
Advance Preparation
•The kreung tam can be pounded a day ahead and stored in the refrigerator. Bring it to room temperature before frying in the coconut cream. The flavors actually deepen overnight as the spice oils meld.
•The curry broth can be made up to a day ahead. Refrigerate with the chicken in the broth. Reheat gently. The coconut fat will solidify on top; that's fine, it melts right back in.
•The crispy noodles cannot be made ahead. They lose their crunch within 30 minutes. Fry them while you reheat the broth and boil the soft noodles. Timing matters.
•Prepare the krueng prung condiment tray while the chicken braises: chop the pickled mustard greens, slice the shallots, cut the limes. This is the easy part that people forget. Don't forget it.
Frequently Asked Questions
Nutrition Information
1 serving (about 450g)
Calories
720 calories
Total Fat
45 g
Saturated Fat
25 g
Trans Fat
0 g
Unsaturated Fat
18 g
Cholesterol
155 mg
Sodium
1090 mg
Total Carbohydrates
51 g
Dietary Fiber
3 g
Sugars
5 g
Protein
26 g
Where cooking meets culture.
Culinary guides, cultural storytelling, and the editorial depth that makes cooking meaningful.