Chiang Mai Food Guide: Khao Soi, Sai Ua, and the Northern Thai Kitchen
I was at a khao soi counter on a side street near Tha Pae Gate at eleven in the morning, a bowl of golden curry broth in front of me with a tangle of boiled egg noodles underneath and a crown of deep-fried noodles on top. The woman behind the counter asked me, in English and then in Thai to make sure I’d understood, if I wanted it spicy. I said yes without thinking about what that would mean in Chiang Mai, where the pickled mustard greens on the side are already fermented sharp and the roasted chili paste in the jar next to them will put a sweat on you before you’ve finished the noodles underneath. She nodded, ladled out the broth, cracked a boiled egg into it, and slid the bowl across. Forty-five baht. The man on the stool next to me already had a napkin balled up in his fist.
In This Article
- Khao soi: the dish the city runs on
- Khao Soi Khun Yai
- Khao Soi Islam
- Khao Soi Lam Duan
- Khao Soi Mae Sai
- What to skip
- Sai ua: the sausage that defines the north
- Nam prik: the dips you put on everything
- The dishes nobody writes about enough
- Laab muang
- Kanom jeen nam ngiao
- Gaeng hang lay
- Sticky rice (kao nieo)
- The markets that matter
- Sunday Walking Street
- Saturday Walking Street
- Warorot Market (Kad Luang)
- Chang Phueak Night Market (the Cowboy Hat Lady)
- Chiang Mai Gate Market
- Grilled chicken, chicken rice, and the Isaan crossover
- Khantoke: the ceremonial dinner, if you’re into that
- Mango sticky rice and the rest of the sweet drawer
- The coffee problem
- Stuff at the weirder end of the menu
- Where the food meets the history
- A two-day eating plan
- Practicalities
- What to skip
- Why the north gets it right

I’d come north from Bangkok the way most people do, on a night train that rocks you awake at 7am in a mountain valley with a different kind of light. I’d planned on three days. I stayed eleven. Every one of those extra days, I blamed the food.
This is the north of Thailand. Lanna country, named for a kingdom that ran this region from 1296 until the Burmese took it in the sixteenth century and the Siamese took it back in the eighteenth. The food here is its own animal: not the sweet, sour, chili-citrus snap of central Thai cooking, not the sharp lime-and-fish-sauce of Isaan in the northeast, but something herb-heavy and earthy, with more Burmese and Chinese influence than you’d expect, and a deeper love of pork and sticky rice than anywhere else in the country. If you’ve eaten Bangkok street food and thought you knew Thai cuisine, Chiang Mai is going to reset your map.

The city is easy. The old walled square is about 1.5km on each side, ringed by a moat you can walk around in an hour if you’re slow. Inside the moat: most of the tourist weight, temples, guesthouses, pancake stalls, the Sunday Walking Street once a week. Outside the north and east walls, where the digital nomads live, it gets quieter. Outside the west wall, past Suan Dok Gate toward Nimman, is where the third-wave coffee gets serious.
Khao soi: the dish the city runs on

Khao soi is the only answer to what-should-I-eat-first in Chiang Mai. A turmeric-yellow coconut curry, poured over boiled egg noodles, topped with a little haystack of the same noodles deep-fried. Protein is usually chicken, sometimes beef, rarely pork (the dish has Hui Muslim roots: Chinese Muslim traders from Yunnan, pushed south through Burma, who wouldn’t have cooked pork). On the side: shallots sliced fine, pickled mustard greens, lime wedges, a little glass jar of roasted chili paste in oil.
The dish is contested. Some food historians say it came overland from Yunnan with the Chin Haw traders. Others point to Burmese ohn no khauk swè as the direct ancestor. Either way, it’s been a Chiang Mai dish long enough that the oldest shops in the city have been pouring it for two or three generations, and every one of them will tell you their version is the correct one. A few are worth the argument.
Khao Soi Khun Yai
The short-run, weekday-lunch-only one. You want this one if you’re in the city on a Monday through Saturday, you’ve woken up hungry, and you’re willing to be at the door by 10:30. Khun Yai sits in a plant-crowded courtyard down Sri Poom 8 Alley, a three-minute walk inside the north wall of the old city. There’s no sign in English. The way you find it is you turn left out of the North Gate, walk maybe sixty metres, and look for an open gate on your left with people sitting on plastic stools. They open at 10, they close when the pot runs dry, which is usually around 1:30pm. Closed Sundays.
The bowl is ฿50. The broth is unsweetened, which is the key thing: a lot of khao soi around the city has been dumbed down with sugar. Khun Yai’s is spice-forward, the coconut milk is there but it isn’t in charge, and the crispy noodles on top still have crunch when you get to them. You can get a side of massaman or a plate of sai ua while you’re there. You won’t need both. If you’ve flown in and you want one first meal in Chiang Mai, make it this.

Khao Soi Islam
In the Muslim quarter on Charoenprathet Road, five minutes’ walk from the Night Bazaar. Halal, which means beef is properly on the menu (khao soi nuea) rather than the chicken default. The broth is milder and sweeter than Khun Yai’s; the beef is cooked long enough to shred. This is where I’d send a friend who doesn’t love heat but does want to understand what the dish is. They also make an excellent khao mok nuea, a yellow-rice beef biryani that locals come for separately. ฿60 for the khao soi, ฿80 for the biryani. Open 8am to 5pm, closed Fridays around prayer.
Khao Soi Lam Duan
The grandparent of the set. Lam Duan has been ladling khao soi on Faham Road since the 1950s, and the place looks it: green walls, old fans, laminated menus, tile floors that have seen every type of weather this valley gets. Across the river from the old city, about a twelve-minute tuk-tuk ride. The broth is a touch earthier than Khun Yai’s and noticeably sweeter; I like this one second best. Order the khao soi nuea and a side of kanom jeen in the fish curry broth. ฿50-60 a bowl. Worth it even if only so you can say you ate where grandparents ate when they were the age their grandkids are now.
Khao Soi Mae Sai
In the Chang Phueak area just north of the old city wall, tucked into Ratchaphuek Alley. A Muslim-run place, quieter than Khun Yai, and usually no queue if you come between 11 and noon. The noodles here are made in-house, which matters: most shops buy them from the same wholesale noodle factory. Mae Sai’s own noodles are thicker, slightly less yellow, and hold their texture even after the broth has been sitting. ฿45.
What to skip
Khao Soi Nimman is the one the guidebooks will tell you about. It’s on Nimmanhaemin Soi 7, it has air-con, it does the dish in six different ways including pork and seafood and a pink one. It’s fine. It’s also ฿120-150 for a bowl that doesn’t taste better than the ฿45 version down the road. If you’re staying in a Nimman hotel and you literally cannot face going further, it will do. If you can move, move.
Sai ua: the sausage that defines the north

Sai ua is a pork sausage, but it isn’t like any sausage you know. The meat is ground coarse and packed loose, mixed with so much lemongrass, kaffir lime leaf, galangal, turmeric, and red curry paste that by the time it’s grilled over charcoal the sausage is more herb than pork. You buy it by weight or by the coil; a quarter kilo runs ฿40-80. Sold hot at markets, cold at shops for taking home.
The best place to buy it at a market is Sai Ua Mae Ga Bua inside Warorot Market, on the east side of the old city. Stand at the back of the fresh-food hall and ask anyone for mae ga bua; they’ll point. She sells by the kilo, but she’ll cut you a 200-gram section (฿80) and wrap it in banana leaf and newspaper. Eat it standing up with sticky rice from the stall next door. The char on the outside and the green flecks of lime leaf inside are what you want. If the sausage looks pink and uniform, walk on; that’s sausage aimed at tourists who don’t know what the real thing looks like.

At sit-down restaurants, sai ua usually comes on a platter of Lanna appetisers with two or three nam prik dips, pork rinds, and raw vegetables. Huen Phen does a good one. Tong Tem Toh in Nimman does one too. ฿200-280 for the platter, a fine way to try three or four northern starters at once without committing to any.
Nam prik: the dips you put on everything

Nam prik means chili dip, but that undersells it. In the north, nam prik is a whole course, built around fermented seafood or roasted chilis or tomato and pork, eaten with anything that will carry it: steamed vegetables, boiled eggs, pork rinds (kaep moo), raw cabbage, sticky rice balled up in your hand.
Three to know:
- Nam prik ong. Tomato and pork, cooked down with chili and garlic until it looks almost like a Bolognese. Sweet-savory, mildly spicy, crowd-friendly. The easiest one to start on.
- Nam prik num. Grilled green chilis, mashed with garlic and shallots. Pale green, deceptively mild-looking, sneaks up on you. The one I order most.
- Nam prik kapi. Fermented shrimp paste with chili. Brown-grey, funky, loved by people who grew up with it and a hard sell for everyone else. Try a small spoonful on your sticky rice before you order a whole dish; it splits the table every time.

Huen Phen (112 Ratchamanka Road, inside the south-west corner of the old city) is the easiest place to try all three on one plate. Their Lanna set costs ฿250 and includes both nam prik ong and nam prik num plus a pile of pork rinds, blanched vegetables, hard-boiled egg, and sticky rice. It’s touristy, the evening queue can be thirty minutes, and the food is still legitimately good. Go at lunch, walk in, sit down, done in twenty minutes. The dinner-only evening menu is where the full range of Lanna dishes live. Ask for the handwritten paper menu; the pretty photo menu hides things.
The dishes nobody writes about enough
Khao soi and sai ua show up in every guide. Four more things deserve space.
Laab muang
Not the Isaan laab you know from Bangkok. Northern laab is a different beast: spices toasted and ground (pepper, dried chili, fennel, cumin, bay), pork or buffalo minced, then bound together with a small amount of blood and a squeeze of bile if the cook is old-school. It’s darker, deeper, less sour, more bitter. Served warm, not at the fridge-cold you sometimes get Isaan laab. Eat with sticky rice. Huen Phen does laab khua muang (the cooked version). Lap Khom Huay Too (a tiny open-front place a twenty-minute drive north, on the way to Mae Rim) does the raw one if you want the real article. ฿120 a plate.
Kanom jeen nam ngiao

A soup of fermented rice noodles in a pork-bone broth, red from dried chili and cockscomb flower, sour from tomato, earthy from a dollop of pork blood. Served with a handful of bean sprouts, pickled mustard greens, lime, and chopped cilantro that you stir in yourself. It’s the quieter cousin of khao soi. Most visitors leave without trying it, which is a small tragedy. The Sunday Walking Street has two or three stalls doing it; otherwise, most khao soi shops will have a bowl on the back burner for the regulars. ฿40-50. Ask by name: kanom jeen nam ngiao.
Gaeng hang lay

A slow-cooked pork belly curry, Burmese in origin, spiked with tamarind, ginger, garlic, and a hang lay spice blend that includes turmeric and coriander. Unlike most Thai curries it has no coconut milk, which means the broth is thinner and the sourness clearer. Falls-off-the-bone pork. You want this at dinner. Huen Phen does it well, ฿180-220. Dash Teak House in Chang Phueak does a slightly fancier version (฿280) in a beautiful old wooden teak building if you feel like matching the food to the setting.
Sticky rice (kao nieo)

Not a dish, a constant. Sticky rice comes to every northern meal in a small woven bamboo basket with a lid (a kratib). You eat it with your right hand: pinch off a knuckle of rice, roll it briefly against your thumb, dip it, eat. Forks are available but they make everything harder. Locals will laugh at you once, kindly, and then teach you. ฿20-30 a basket at most places, bottomless refills if you’re eating in a group.
The markets that matter
Four markets worth planning around. Each has a different hour and a different job.
Sunday Walking Street

The big one. From about 4pm Sunday afternoon, the length of Ratchadamnoen Road from Tha Pae Gate all the way to Wat Phra Singh closes to traffic and fills with stalls, maybe a kilometre of them. Side streets branch off into temple courtyards where the food vendors set up: roast pork, grilled chicken skewers, pad thai cooked on a flat-top in front of you, mango sticky rice piled in glass cabinets, freshly-pressed sugarcane juice, grilled corn cobs. There’s a shrine at one of the temples (Wat Chedi Luang or Wat Pan On, depending on the week) where the walking street does its most concentrated food court and people sit cross-legged to eat. That’s where you want to be.

Prices are fair: most plates are ฿40-80, sticky rice and mango is ฿80, a coconut ice cream is ฿40-60. The crowd thickens after 6pm and becomes un-enjoyable around 8. Go at 4:30, eat, wander the stalls till 7, then leave before you’re moving elbow-to-elbow for the last hour. Pickpockets happen in the densest stretches; front pockets only, or a bag with a zip you can see.
Saturday Walking Street
On Wualai Road, south of the old city moat in the silver-craft district. Smaller, quieter, more local, and heavily centred on crafts rather than food. There’s still plenty to eat (the Lanna sausage vendors set up along the road and the dessert stalls come out), but it’s a different night. If you’re in town for both a Saturday and a Sunday, do Wualai on Saturday and Ratchadamnoen on Sunday and you’ll see the contrast. If you can only do one, the Sunday.
Warorot Market (Kad Luang)

The local market. Four blocks east of Tha Pae Gate, across the Ping River once you cross Charoenrat Road. Active from 5am through about 4pm, busiest 7-10am. Three floors: groundfloor food, middle floor clothes and textiles, top floor kitchen gear. You come here for the food floor, which is where you find Sai Ua Mae Ga Bua (sausages), rows of curry paste vendors grinding their own, piles of pork rinds in clear bags, dried chilis by the kilo, tamarind paste, sticky rice rusks, and the standing breakfast stalls at the back. Order a plate of khao soi or kanom jeen nam ngiao from one of the ground-floor stalls, stand at the counter, eat in five minutes, move on. ฿40 a bowl.

Warorot is also where you find the tropical fruit you only see for a few weeks a year: mangosteen in May and June, rambutan May through September, longan mid-summer, custard apple in autumn. I’ve written more about this calendar in a piece on tropical fruit across Southeast Asia; Chiang Mai’s Warorot is one of the good places to actually taste it straight off the vendor.
Chang Phueak Night Market (the Cowboy Hat Lady)
Just outside the North Gate (Chang Phueak Gate), opens at 5pm, runs till midnight. The draw is khao kha moo: stewed pork leg over rice, Chinese five-spice in the broth, a soft-boiled egg on top. The famous stall is the one with the woman in the cowboy hat serving from a steaming pan. The sign in Thai is Khao Kha Moo Chang Phueak. ฿50 for a small, ฿80 for a large, and the large is the size of someone’s head. Queue can be 15-20 minutes at 6pm; shorter before 5:30 or after 9. The pork is slow-cooked for hours until it falls off the bone and shreds under a spoon. Add a spoon of pickled mustard greens and the chili-vinegar sauce at the side. A few metres down is Suki Koka, a hot-pot-adjacent stall that does a dry-fried Thai suki with glass noodles and egg, ฿60; eat both and call it dinner.
Chiang Mai Gate Market
On the south side of the old city, where Phra Pokklao meets the moat. Evening only, from around 5pm. Smaller than the walking street markets, heavier on prepared food for takeaway, popular with locals after work. Good for nam prik (several stalls sell takeaway tubs), Lanna sweets, and grilled fish. Quiet enough that you can actually hear what people are ordering.
Grilled chicken, chicken rice, and the Isaan crossover

Kiat Ocha, at 41-43 Intawarorot Road inside the old city, is the chicken-rice spot everyone sends you to and everyone is right. Hainanese-style khao man gai, the same Chinese-southern dish that shows up in every Hainanese kitchen from Singapore hawker halls to Penang’s Chinese coffee shops: poached chicken, rice cooked in chicken stock, ginger-chili-soy sauce on the side. Usually ฿60. What they do less publicly and better is the pork satay, ten small skewers for ฿120 with a bowl of peanut sauce that tastes like it’s been cooking down since breakfast. Open 6am-3pm, closed when the bird is gone.
Isaan food (northeastern Thai) has colonised every Thai city, and Chiang Mai is no exception. The gai yang is often better here than in Bangkok just because the shops are denser and the birds smaller. SP Chicken on Samlan Road inside the old city does kai yang on vertical spits, heat coming from the side, skin crispy, meat juicy, ฿180 for a whole bird small enough to share. Add a som tam (฿60) with whatever heat your face can take, a side of sticky rice, and that’s lunch. Cherng Doi in Nimman is the other name people mention: same dish, slightly sweeter marinade, easier to get into at lunch.
Khantoke: the ceremonial dinner, if you’re into that

Khantoke is a northern Thai banquet format: cross-legged around a low round woven table (literally khan-toke, “tray on legs”), with five to seven small dishes arranged as shared plates, sticky rice in the centre, and a cultural show running while you eat. Old Chiang Mai Cultural Center on Wualai Road does the best-known one; Khum Khantoke near the airport is larger and more production-heavy. Dinner runs ฿550-700 per person including the show. Hang lay pork curry, sai ua, nam prik ong, steamed vegetables, fried chicken, some kind of soup, plus a dessert. The menu is fixed and similar across operators.

My take: the food is better at Huen Phen or a street-food dinner than at any khantoke house. But if you’re travelling with older relatives or anyone who wants the one-night-in-old-Siam experience, this is what it’s for. The dance is actually good. Book Old Chiang Mai Cultural Center a day ahead; it fills up in peak season.
Mango sticky rice and the rest of the sweet drawer

Mango sticky rice (khao niao mamuang) is everywhere in the markets, and you want it when the mangoes are actually in season, roughly April through June. The version you want is warm sticky rice, cold mango slices, a drizzle of warm coconut milk with a pinch of salt, and toasted sesame. The Sunday Walking Street has a dozen stalls doing it; ฿80-100 for a plate with enough mango to justify the carbs. Out of season (December-February) the mango comes in from the cold store and the texture is wrong. Skip it till April and eat khanom krok instead: coconut-rice pancakes from a cast iron pan with dimples, ฿20 for a dozen, best from the Sum Meut Market off Huay Kaew Road.
Other sweet items worth ordering: roti kluai khai (banana roti, pan-fried, ฿40), khanom tuay (coconut custard in ceramic cups, ฿10 each), and cha yen (Thai iced tea with sweetened condensed milk, ฿30-40).
The coffee problem

Chiang Mai is, somehow, one of Asia’s better third-wave coffee cities. The hills north of town grow arabica at 1,200 metres, the roasters are in the old city and Nimman, and the digital nomad population has made flat whites easy to find. A few names:
- Akha Ama Coffee. The original, with two shops (one off Ratchadamnoen inside the old city, one in Santitham). Source their beans from Akha hill tribe villages in Chiang Rai. Strong espresso, ฿65 for a flat white.
- Graph Café. In Nimman, a third-wave nerd shop with single-origins they change weekly. ฿120 for the more interesting pour-overs. Dirty (espresso over cold milk) is a signature drink here.
- Doi Chaang. The bigger commercial brand, not as cool but the beans are good and the shops are everywhere, including at the airport when you’re leaving and realising you should have bought a bag.

For the traditional Thai iced coffee experience, skip the third-wave shops and find an old-style cart. Lert Ros near Chang Phueak Gate does the proper oliang at ฿30, pulled through a cloth sock, heavy with sweetened condensed milk, over a glass of ice that’s already half melted. A hot-noon drink that feels right in Chiang Mai’s thick afternoons.
Stuff at the weirder end of the menu
Once you’ve run the standards, there are corners of the Lanna menu worth a try:
- Kaeng khae. A bitter herb curry, often with frog or chicken, coloured green by the herbs rather than curry paste. Earthy, medicinal-tasting in the best way. Huen Phen has it.
- Pla pao. Whole fish, salt-crusted, stuffed with lemongrass and kaffir lime, grilled over charcoal. Nam prik kapi on the side. Sunday Walking Street, ฿150-200.
- Laab jin. The fatty, rich northern laab with liver and bits of crispy pork skin folded in. For when you need a plate that slows the rest of the day right down.

Where the food meets the history
Chiang Mai was founded in 1296 by King Mangrai as the capital of the Lanna kingdom, Siamese for “a million rice fields,” because the irrigated valley of the Ping River was a basin that could feed an army. For the next three centuries the kingdom ran most of what’s now northern Thailand and bits of northern Laos and eastern Myanmar, until the Burmese took the city in 1558 and held it for two hundred years. Siamese forces under King Taksin and later the Chakri dynasty eventually pushed them back out in the late eighteenth century, by which point the food had already picked up the things it would keep: the tamarind and turmeric and ginger in hang lay curry, the fermented-bean sauces that show up in some nam prik, the preference for sticky rice over jasmine that still holds today.
The teak-trade era in the late nineteenth and early twentieth century added a second layer. British and Burmese teak merchants moved through the city, and khao soi probably arrived in that period, brought overland by Chin Haw Muslim traders from Yunnan who’d been pushed south through Burma. That overland food corridor is why you’ll taste echoes of northern Yunnan cooking in a Chiang Mai noodle bowl, and why the dish is traditionally halal (chicken or beef, never pork). The closest relative you’ll find in the region is Burmese ohn no khauk swè. Nobody agrees on exactly when it turned from a Yunnanese traveller’s bowl into a Chiang Mai staple. By the 1950s, when Lam Duan opened, it was already embedded enough that a neighbourhood place could be built around it.
A two-day eating plan
If you have 48 hours and want to hit the actual standards:
Day one. Khao Soi Khun Yai at 11am (฿50, one bowl, no sides). Then Warorot: sai ua from Mae Ga Bua eaten standing up with sticky rice, a wander through the spice and dried-goods floors. Coffee at Akha Ama. Walk through Wat Phra Singh and Wat Chedi Luang to digest. Evening: Huen Phen evening menu, Lanna starter platter + hang lay + laab khua muang, around ฿600 for two.
Day two. Breakfast at a Warorot standing stall (kanom jeen nam ngiao, ฿40). Lunch at Kiat Ocha for khao man gai and a stack of pork satay, ฿180 total. Afternoon coffee at Graph or oliang at Lert Ros. Evening: Chang Phueak Night Market for the Cowboy Hat Lady (฿80 for a large khao kha moo) and Suki Koka’s dry-fried suki (฿60). If it’s a Sunday, you’re now walking straight into the Walking Street and the evening has a plan of its own.
Practicalities

A few things I wish I’d known on day one:
- Cash. Most street food and old markets are cash-only. Pull ฿2,000 out on arrival and you’ll barely need a card until check-out. Foreign-card ATM fees are about ฿220 per transaction, which is why you pull a larger amount at once.
- Songthaews. Red shared pick-up trucks. Flag one, tell the driver where, agree a price before getting in. Within the old city and Nimman, expect ฿40 per person. Old city to Warorot or Nimman ฿60-80. Grab works for metered pricing.
- Heat hours. Peak is 12-3pm. Eat at 11 or at 3, sit in the shade between. March-April is smoky from agricultural burning in the hills; May onwards it cleans up. November-February is the best eating weather.
- Spice level. The default heat here is higher than in Bangkok. “Mai phet” (not spicy) or “phet nit noi” (a little spicy) are useful. Avoid “phet mak” on day one.
- Opening days. Khun Yai closes Sunday, Kiat Ocha closes when the chicken runs out (around 3pm), SP Chicken closes Wednesdays, Lam Duan is open daily.
What to skip
Not everything in Chiang Mai is worth your time. A few calls:
- The big “Chiang Mai Night Bazaar” on Chang Khlan Road. Not a food market in any meaningful way. Tourist souvenirs, cheap clothing, a handful of mediocre restaurants. Walk through once, eat elsewhere.
- “Thai cooking class” in central Nimman. Many are assembly lines with 20 students to one instructor. If you want to learn to cook Thai food, go to Thai Farm Cooking School or a smaller operator that runs groups of 6-8 with an actual farm. ฿1,200-1,400 for a full day.
- “Best tourist khao soi” Google Maps rankings. The first-page places are rarely where locals go. Cross-reference with a Thai-language review, and trust that the shop without English signage is worth the puzzle.
Why the north gets it right
After eleven days I left Chiang Mai with a duffel of sai ua wrapped in ten layers of banana leaf and a jar of nam prik ong I took through customs without declaring. I haven’t had a khao soi outside Thailand that touches Khun Yai’s. The few that came close were all made by Chiang Mai-trained cooks.
The food up here is cooler than the south, literally and in spice. Slower. Curry pastes pounded longer. Sticky rice replaces steamed rice and changes the rhythm of the meal because you’re eating with your hands.
Pick a guesthouse inside the old city or just outside the east wall. Rent a bicycle or get used to songthaews. Breakfast at Warorot, lunch at Khun Yai or SP Chicken, an afternoon coffee at Akha Ama, dinner at Huen Phen or the walking street on Sunday. Do that for three days and you’ll understand why the digital nomads who meant to be here for two weeks are somehow on month four.




