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

Created by
No coconut milk. No Central Thai curry paste. This is the older khao soi, the one the Chin Haw traders carried over the mountains from Yunnan into Lanna. Dried spices pounded into a kreung tam, beef braised until it surrenders, and a broth that tastes like the trade route itself.
Most people hear "khao soi" and think coconut curry noodles. That's the version that got famous. This isn't that.
Khao soi Islam is the older dish. No coconut milk. No cracking coconut cream in a wok. This is a spiced beef broth, built on a kreung tam of dried chilies, cumin, coriander seed, turmeric, and ginger. The paste foundation still holds, but the ingredients tell a different story. These are the dried spices of the overland trade routes, the aromatics that traveled well on mule caravans from Yunnan into Northern Thailand. When the Chin Haw (จีนฮ่อ), the Yunnanese Muslim traders, settled in Chiang Mai and the surrounding valleys, they brought this noodle soup with them. The kreung tam adapted. It always does.
Ajarn always said: the kreung tam is everything. Even here, where the paste looks nothing like a green curry or a gaeng hung lay, the principle is identical. You pound aromatics in the mortar until the cell walls break, the essential oils release, and the flavors merge into something greater than the sum. Cumin and coriander seed replace some of the fresh herbs. Ginger stands where galangal would in a Central Thai paste. Turmeric (kha min) turns the whole thing golden. But the method? The method is the same. Krok ก่อน.
The four pillars still govern. Fish sauce for salt. Palm sugar for sweet, just enough to round the edges of the spice. Lime squeezed at the table for sour. Dried chili flakes in oil for heat. The system doesn't care whether you're Muslim, Buddhist, or anything else. The principles are the principles. That's what makes Thai food a system and not just a collection of recipes.
At the Fai Thai workshop, I use this dish to teach the idea that the kreung tam travels. It crosses borders. It absorbs influences. But it never stops being a pounded paste foundation. If you understand that, you understand why a Muslim noodle soup from Chiang Mai and a Buddhist green curry from Bangkok are cousins, not strangers.
Khao soi Islam traces to the Chin Haw (จีนฮ่อ), Yunnanese Muslim traders who migrated into Northern Thailand along the old caravan routes connecting Yunnan province to Lanna during the 19th century. The dish predates the now-famous coconut curry version (khao soi kai), which likely developed later as Thai cooks adapted the original spiced broth with local coconut milk. The Muslim community around Chang Khlan Road in Chiang Mai still serves this version, and the word "khao soi" itself may derive from a Shan or Yunnanese term for cut noodles, reflecting its origins north of the Thai border.
Quantity
8
seeds removed, soaked in warm water 15 minutes
Quantity
4
roughly chopped
Quantity
6 cloves
Quantity
2-inch piece
sliced (or 1½ teaspoons ground turmeric)
Quantity
1-inch piece
sliced
Quantity
1½ teaspoons
toasted
Quantity
1½ teaspoons
toasted
Quantity
½ teaspoon
Quantity
1 teaspoon
Quantity
500g
cut into large chunks
Quantity
250g
Quantity
6 cups
Quantity
2
Quantity
1 (about 3 inches)
Quantity
2
lightly crushed
Quantity
3 tablespoons
Quantity
2½ tablespoons, plus more to taste
Quantity
1 tablespoon
Quantity
400g
divided: 300g for boiling, 100g for frying
Quantity
as needed
Quantity
½ cup
chopped
Quantity
4
thinly sliced into rings
Quantity
2
cut into wedges
Quantity
for serving
Quantity
for garnish
| Ingredient | Quantity |
|---|---|
| dried long red chilies (prik haeng)seeds removed, soaked in warm water 15 minutes | 8 |
| shallots (hom daeng)roughly chopped | 4 |
| garlic (krathiam) | 6 cloves |
| fresh turmeric (kha min)sliced (or 1½ teaspoons ground turmeric) | 2-inch piece |
| fresh gingersliced | 1-inch piece |
| cumin seeds (yira)toasted | 1½ teaspoons |
| coriander seeds (luk phak chi)toasted | 1½ teaspoons |
| black peppercorns (prik thai) | ½ teaspoon |
| shrimp paste (kapi) | 1 teaspoon |
| beef shankcut into large chunks | 500g |
| beef bones | 250g |
| water | 6 cups |
| star anise | 2 |
| cinnamon stick | 1 (about 3 inches) |
| cardamom podslightly crushed | 2 |
| vegetable oil | 3 tablespoons |
| fish sauce (nam pla) | 2½ tablespoons, plus more to taste |
| palm sugar (nam tan pip) | 1 tablespoon |
| fresh egg noodles (ba mee)divided: 300g for boiling, 100g for frying | 400g |
| vegetable oil for deep-frying | as needed |
| pickled mustard greens (phak kad dong)chopped | ½ cup |
| shallots for servingthinly sliced into rings | 4 |
| limescut into wedges | 2 |
| dried chili flakes in oil | for serving |
| fresh cilantro leaves (phak chi) | for garnish |
In a dry wok or small pan over medium heat, toast the cumin seeds and coriander seeds until they're fragrant and a shade darker, about 2 minutes. Keep them moving. The moment you smell them, they're done. Let them cool briefly. In a heavy granite mortar (krok hin), pound the toasted cumin and coriander seeds with the black peppercorns until they're a rough powder. Add the drained soaked chilies and pound to a paste. Then the shallots. Then garlic. Then ginger. Then turmeric. Each ingredient goes in after the previous one is broken down. Finish with the shrimp paste (kapi) and pound until everything is integrated: a rough, golden-orange paste that smells warm, earthy, and nothing like a Central Thai curry paste. That's the point. This kreung tam traveled a different road.
Pat the beef shank pieces dry with a towel. Season lightly with a pinch of salt. Heat 1 tablespoon of vegetable oil in a heavy pot or Dutch oven over high heat until it shimmers. Sear the beef in batches, getting a deep brown crust on at least two sides, about 3 minutes per side. Don't crowd the pot. Crowding drops the temperature and you steam the meat instead of searing it. Set the browned beef aside. This browning isn't decoration. It's the Maillard reaction building the base flavor of your broth.
In the same pot, reduce heat to medium. Add the remaining 2 tablespoons of oil. Scrape in all of the kreung tam. Fry the paste, stirring constantly, for 3 to 4 minutes. The paste will darken slightly and the oil will start to separate at the edges. The kitchen will fill with cumin and turmeric and roasted chili. That's the transformation happening. The raw spice smell cooks out and the deep, rounded aroma comes in. If it starts to stick, lower the heat. Burnt paste is dead paste.
Return the seared beef and bones to the pot. Add the star anise, cinnamon stick, and crushed cardamom pods. Pour in the 6 cups of water. The liquid should just cover the meat. Bring to a boil, then immediately drop to the lowest possible simmer. Skim any foam that rises in the first 10 minutes. Add the fish sauce and palm sugar. Stir once. Cover with the lid slightly cracked and let it braise for 1½ to 2 hours. The beef is done when it pulls apart under gentle pressure from a fork but still holds its shape. The broth should be golden-brown, clear but deeply flavored, with a slick of spiced oil on the surface. Taste. Adjust salt with more fish sauce. The balance should lean savory and warm, with just enough palm sugar to round the spice. Remove the star anise, cinnamon stick, and cardamom pods before serving.
While the broth simmers, separate 100g of the fresh egg noodles and spread them out on a towel to dry for 10 minutes. Excess moisture will splatter in the oil. Heat about 2 inches of vegetable oil in a wok or deep pan to 180°C (350°F). Drop the dried noodles in small handfuls. They'll puff and curl within seconds, turning golden and crispy. Pull them out with a spider strainer the moment they stop bubbling aggressively, about 30 seconds per batch. Drain on paper. These go on top of the soup at the very end. They should shatter when you bite down. If they're chewy, the oil wasn't hot enough.
Bring a separate pot of water to a rolling boil. Cook the remaining 300g of fresh egg noodles for 60 to 90 seconds, until they're just tender but still have bite. Fresh ba mee cooks fast. Don't walk away. Drain, shake off excess water, and divide among four bowls immediately.
Place the cooked noodles in deep bowls. Lay two or three chunks of braised beef on top of each portion. Ladle the hot broth generously over the noodles and beef, making sure each bowl gets some of that spiced oil from the surface. Crown each bowl with a nest of crispy fried noodles. Scatter cilantro leaves on top. Serve with the krueng prung (condiment tray) on the side: pickled mustard greens (phak kad dong), sliced raw shallots, lime wedges, and chili flakes in oil. The condiments are not optional. They're the final calibration. The lime goes in at the table, sour added last, sour added slowly. The pickled greens cut through the richness. The raw shallots add bite. The chili oil brings the heat to wherever you want it. That's the Northern Thai tradition: the cook builds the foundation, the eater finishes the dish.
1 serving (about 500g)
Culinary mentorship, cultural storytelling, and the editorial depth that makes cooking meaningful.
Explore Culinary Advisor