
Serves: 4–5
Total time: ~55 minutes
Difficulty: Moderate
Diet: Vegetarian
Background
Khao Soi is one of the defining dishes of Northern Thailand, particularly associated with Chiang Mai and the surrounding region. Its roots reflect the area's historical position at the crossroads of trade routes connecting China, Burma, and the rest of mainland Southeast Asia. The dish shows clear Burmese-Shan influence—most visibly in its use of cardamom and turmeric, spices more common to the curry traditions of Burma and South Asia than to the central Thai kitchen. The name likely derives from the Shan "khao swe," meaning noodles.
What makes Khao Soi structurally distinctive is its double-noodle presentation: soft egg noodles served in the broth and a nest of crispy fried noodles on top. This contrast—tender and crunchy, rich and bright—is the dish's signature character and should not be skipped. The garnishes are equally important: pickled mustard greens cut the coconut richness, raw shallots provide sharpness, and lime brings everything into focus.
This version is vegetarian, substituting carrots, cauliflower, and kale for the traditional chicken or beef. The technique—making a fresh curry paste, building the broth in stages, and finishing with the classic garnishes—remains faithful to the original.
Ingredients
Curry Paste
- 2 dried chiles (guajillo or New Mexico for mild; dried Thai chiles for heat)
- 2 cups (480 ml) boiling water, for soaking
- 4 garlic cloves
- 2 shallots, peeled
- 1 inch (2.5 cm) piece fresh ginger
- 1 tbsp ground coriander
- 2 tsp ground turmeric
- 2 tsp curry powder
- ¼ tsp ground cardamom
- Zest of 2 limes
- ½ bunch cilantro, stems only
- 2 tbsp chile soaking liquid (reserved from soak)
Soup
- 2 tbsp neutral oil (grapeseed or avocado)
- 2 medium onions, sliced
- Two 13½ oz (400 ml) cans full-fat coconut milk
- 1½ cups (360 ml) water (use the empty coconut milk can to measure)
- 4 medium carrots, peeled and chopped
- 1 small cauliflower, broken into florets
- 1 bunch kale, stemmed and roughly chopped
- Kosher salt
- Juice of 2 limes
Noodles
- 14 oz (400 g) fresh or dried egg noodles (or Chinese-style wheat noodles)
- Neutral oil, for frying (about ¼ cup, for the crispy topping)
Note: Reserve approximately 2 oz (60 g) of the noodles before cooking to fry for the crispy topping.
Garnishes (Essential)
- Pickled mustard greens — store-bought (found at Asian markets) or substitute: quick-pickled cabbage (see note below)
- 3–4 shallots, very thinly sliced
- Fresh cilantro leaves
- 6 lime wedges
Pickled mustard greens substitute: Toss ½ cup thinly sliced green cabbage with 2 tbsp rice vinegar, ½ tsp sugar, and a pinch of salt. Let stand 20 minutes. Drain well before serving.
Instructions
1. Make the Curry Paste
- Soak dried chiles in boiling water for 30 minutes. Drain, reserving 2 tbsp of the soaking liquid.
- Add chiles and all remaining paste ingredients to a blender or food processor. Add the reserved soaking liquid.
- Blend on high until smooth, adding a little more liquid if needed. Set aside.
2. Build the Soup
- In a Dutch oven or large wide-bottomed pot, warm the oil over medium heat.
- Add onions and cook 8–10 minutes until soft but not browned.
- Add the curry paste and cook 4–5 minutes, stirring frequently, until fragrant and slightly darkened.
- Pour in coconut milk and water. Stir to combine.
- Add carrots and cauliflower. Season with salt. Bring to a gentle boil, then reduce to a simmer.
- Cook 10 minutes until carrots and cauliflower are just tender.
- Add kale and cook 4–5 minutes until wilted.
- Add lime juice. Taste and adjust salt. Keep warm over low heat.
3. Make the Crispy Noodle Topping
- Heat about ¼ cup neutral oil in a small skillet over medium-high heat.
- Add the reserved noodles in a loose nest. Fry 2–3 minutes, turning once, until golden and crisp.
- Transfer to a paper towel-lined plate. Salt lightly. Set aside.
Tip: For dried noodles, fry them dry without pre-cooking. For fresh noodles, pat them as dry as possible before frying.
4. Cook the Noodles
- Cook remaining egg noodles according to package instructions.
- Drain well and divide among bowls.
5. Assemble and Serve
- Ladle hot soup over noodles in each bowl.
- Top with a nest of crispy noodles.
- Arrange pickled mustard greens and sliced shallots alongside.
- Scatter cilantro leaves on top.
- Serve immediately with lime wedges.
Recommended Cooking Sequence
- Soak chiles (30 min passive time — start this first)
- While chiles soak: prep all vegetables; slice shallots; make quick-pickled cabbage if using
- Blend curry paste
- Build soup — simmer through kale
- Fry crispy noodle topping
- Cook remaining noodles
- Assemble bowls and serve
Presentation
Khao Soi is a bowl dish. Use deep, wide bowls. Noodles go in first, broth and vegetables ladled over, crispy noodles piled on top — not mixed in. Garnishes (shallots, pickled greens, cilantro) are arranged around the edge or on the side, not buried. Lime wedges on the rim. The visual contrast between the golden crispy topping and the rich amber broth is the dish's calling card.
Shopping List
Produce
- 2 medium onions
- 4 medium carrots
- 1 small cauliflower
- 1 bunch kale
- 3–4 shallots
- 1 inch fresh ginger
- 1 head garlic
- 4 limes
- 1 bunch cilantro
Pantry & Dry Goods
- Dried chiles — guajillo or New Mexico (mild) or dried Thai chiles (hot)
- Full-fat coconut milk (2 cans, 13.5 oz each)
- 14 oz egg noodles or Chinese-style wheat noodles
- Ground coriander
- Ground turmeric
- Curry powder
- Ground cardamom
- Neutral oil (grapeseed or avocado)
- Kosher salt
Pickled Mustard Greens (Garnish)
Available at Asian grocery stores (look for jarred or refrigerated pak dong). If unavailable, substitute with ½ cup green cabbage + rice vinegar + sugar + salt (see recipe note).