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

Created by
The Lanna kreung tam breaks every Central Thai rule: ginger over galangal, cumin and star anise from the Burmese trade roads, coconut in a region where coconut palms don't grow. Braised beef turns it into something that sticks to your ribs through the cool season.
Khao soi is the dish that teaches you Thai food is not one system. It's regional systems, each with its own logic. This is Lanna cooking, Northern Thai, and the kreung tam here would confuse anyone who learned curry paste in Bangkok.
Central Thai pastes lean on galangal, kaffir lime, and fresh green or red chilies. The Lanna khao soi paste flips the script. Ginger dominates over galangal. Dried spices, cumin, coriander seed, star anise, enter the mortar. These are ingredients that traveled up the old trade routes from Myanmar and the Shan States, and they stayed. Ajarn always said: the kreung tam tells you where you are on the map. Pound a khao soi paste and you're in the mountains, not the river plains.
Here's the thing about the beef version. Chicken khao soi takes forty minutes. Beef khao soi takes patience. You're braising chuck, which means collagen, connective tissue, time. The reward is a broth with body that chicken can't give you. The coconut cream cracks around the paste, the thin coconut milk goes in with the beef, and then you wait. Low heat. Two hours. The beef breaks down into something tender and rich, and the spiced coconut broth deepens into gold.
Coconut palms don't grow in the northern highlands. That's important. Most Lanna curries use water-based broths, not coconut. Khao soi is the exception, one of only two Burmese-influenced dishes in the Lanna repertoire that use coconut milk. The coconut came up the trade routes with the spices. The dish is a record of that exchange, built into every bowl.
The crispy noodles on top aren't decoration. The pickled mustard greens, the raw shallots, the lime, the chili oil: those aren't optional sides. They're the dish. A bowl of khao soi without its krueng prung (condiment tray) is half-finished. Every element adjusts the balance in your mouth. That's the Northern Thai way: the cook builds the foundation, the eater finishes it at the table.
Khao soi traces its lineage to the Shan and Burmese Muslim traders who moved through Northern Thailand's mountain passes, likely arriving in the Lanna Kingdom (modern Chiang Mai, Chiang Rai, Lamphun) in the late 19th or early 20th century. The name may derive from the Shan term for 'cut rice,' referring to an older noodle-cutting technique. Unlike Central Thai curries, the khao soi kreung tam includes toasted dried spices (cumin, coriander, star anise) that have no precedent in the Central tradition, marking it clearly as a product of overland trade with Myanmar and Yunnan rather than the maritime spice routes that influenced Southern Thai cuisine.
Quantity
800g
cut into 3cm chunks
Quantity
400ml
Quantity
600ml
Quantity
500g
Quantity
100g
for frying
Quantity
2-3 tablespoons
Quantity
1 tablespoon
Quantity
for frying noodles
Quantity
10
seeded and soaked 15 minutes
Quantity
5
roughly chopped
Quantity
8 cloves
Quantity
3-inch piece
sliced
Quantity
1-inch piece
sliced
Quantity
2 stalks
bottom 3 inches, sliced thin
Quantity
1 tablespoon
toasted
Quantity
1 teaspoon
toasted
Quantity
2 whole
toasted
Quantity
1 teaspoon
Quantity
1 teaspoon
Quantity
1 teaspoon
Quantity
for serving
chopped
Quantity
3
thinly sliced
Quantity
for serving
Quantity
for serving
Quantity
for serving
| Ingredient | Quantity |
|---|---|
| beef chuckcut into 3cm chunks | 800g |
| coconut cream (hua kathi) | 400ml |
| thin coconut milk (hang kathi) | 600ml |
| fresh egg noodles (ba mee sot) | 500g |
| dried egg noodles (ba mee haeng)for frying | 100g |
| fish sauce (nam pla) | 2-3 tablespoons |
| palm sugar (nam tan pip) | 1 tablespoon |
| vegetable oil | for frying noodles |
| dried red chilies (prik haeng)seeded and soaked 15 minutes | 10 |
| shallots (hom daeng)roughly chopped | 5 |
| garlic (kratiam) | 8 cloves |
| ginger (khing)sliced | 3-inch piece |
| galangal (kha)sliced | 1-inch piece |
| lemongrass (takhrai)bottom 3 inches, sliced thin | 2 stalks |
| coriander seeds (met phak chi)toasted | 1 tablespoon |
| cumin seeds (yira)toasted | 1 teaspoon |
| star anise (poy kak bua)toasted | 2 whole |
| turmeric powder (phong khamin) | 1 teaspoon |
| shrimp paste (kapi) | 1 teaspoon |
| curry powder (phong kari) | 1 teaspoon |
| pickled mustard greens (phak kat dong)chopped | for serving |
| shallots (hom daeng)thinly sliced | 3 |
| lime wedges | for serving |
| chili oil (nam man prik) | for serving |
| pickled garlic (kratiam dong) (optional) | for serving |
Set a dry pan over medium heat. Add the coriander seeds, cumin seeds, and star anise. Shake the pan. Keep them moving. Two to three minutes until you smell them: warm, toasty, almost like incense. That's the Burmese fingerprint on this dish. These spices have no business in a Central Thai curry paste. Here, they're foundational. Let them cool, then grind to a powder in a spice grinder or pound in the mortar. Set aside.
Drain the soaked dried chilies and squeeze out excess water. In a heavy granite mortar (krok hin), start with the chilies, a pinch of salt for grip. Pound to a rough paste. Add the garlic and shallots. Pound. Then the ginger and galangal. Notice the ratio: three inches of ginger to one inch of galangal. That's Lanna. In Central Thai, it's the opposite. This is how the mortar tells you where you are. Add the lemongrass. Pound until fibrous and integrated. Add the ground toasted spices, the turmeric powder, curry powder, and shrimp paste. Pound everything together until it becomes a thick, rough, deeply aromatic paste. The color should be rust-orange with flecks of spice. The smell should hit you across the room: warm, earthy, ginger-forward. That's your khao soi kreung tam.
Set a heavy pot over medium heat. Spoon in the thick coconut cream. Not the thin milk. The cream. Stir slowly. After five to eight minutes, the cream will separate: the oil rises, the solids begin to fry in their own fat. This is called 'cracking' the coconut cream, and if you skip it, the curry tastes flat and one-dimensional. You'll see shimmering oil on the surface and the cream will look grainy and broken. That's exactly what you want. It means the fat has separated and is ready to fry the paste.
Add the entire kreung tam to the cracked coconut cream. Stir it into the oil. Fry for three to four minutes over medium heat. The paste should darken slightly and the oil will turn golden-orange. The kitchen will smell incredible: toasted cumin, ginger, shrimp paste. When the oil rises around the edges of the paste and the raw shrimp paste smell has cooked off, you're ready for the beef.
Add the beef chunks to the pot and toss them through the fried paste until every piece is coated. Let the beef sear against the pot for two minutes. Don't stir constantly. Let it get some color. Then pour in the thin coconut milk. Add the fish sauce and palm sugar. Stir once. Bring to a gentle simmer, then drop the heat to low. Cover and braise for one and a half to two hours. The beef is done when a chunk breaks apart with gentle pressure from a spoon. Not falling apart on its own, that's overdone. You want tender with structure. Check and stir every thirty minutes. If the liquid drops too low, add a splash of water.
While the beef braises, heat about two inches of vegetable oil in a wok or deep pan to 180°C (350°F). Take the dried egg noodles and pull them into loose nests. Drop them into the hot oil. They'll puff and curl within seconds, turning golden. Flip once. Remove and drain on paper. Total time in the oil: fifteen to twenty seconds. They should shatter when you bite down. If they're chewy, the oil wasn't hot enough.
Bring a pot of water to a rolling boil. Cook the fresh egg noodles for sixty to ninety seconds. Fresh ba mee cook fast. They should be springy, not mushy. Drain, shake off the water, and divide into four bowls immediately.
When the beef is tender, taste the broth. Fish sauce for salt. Palm sugar for sweet. The balance should lean salty and rich, with warmth from the spices and a gentle sweetness from the coconut. There's no lime in the pot. That sourness comes from the table, from the lime wedge each person squeezes into their own bowl. That's the Northern Thai way: the cook builds the foundation, the eater finishes the balance.
Ladle the beef curry broth over the fresh noodles in each bowl. Make sure each bowl gets two or three chunks of beef and plenty of that golden, spiced coconut broth. Crown each bowl with a nest of crispy fried noodles. Serve immediately with the krueng prung tray alongside: pickled mustard greens, sliced raw shallots, lime wedges, chili oil, and pickled garlic. Every condiment is part of the dish. The diner adjusts sourness with the lime, sharpness with the shallots, crunch and brine with the pickled greens, heat with the chili oil. That's not casual. That's by design.
1 serving (about 550g)
Culinary mentorship, cultural storytelling, and the editorial depth that makes cooking meaningful.
Explore Culinary Advisor