Khao Soi

2034kcal122.7g protein159.1g fat40g carbs*Estimates computed from the ingredient list; cost uses average US supermarket prices. Not a substitute for packaging measurements or your receipt.
Contains gluten, egg, tree nut, soy, fish · usually contains shellfish · sometimes contains sesame — check the label
Restrictions
Containsgluten · egg · tree nut · soy · fishIt is in an ingredient you cannot leave out.
Usually containsshellfish (curry paste red)The usual version has it. One without it exists — it is the one named here.
Sometimes contains — check the labelsesame (chili oil)Some brands have it, some do not. The recipe cannot tell, so this is the one you check yourself.
Diets
No porkNo alcohol
Worked out from the ingredient list. It knows nothing about brands, shared equipment or cross contamination, and it is not a certification — if you have an allergy, you still have to read the label.
Ingredients
Servings:
| 2 lb | chicken drumsticks and bone-in thighs, skin on |
| 2 ½ cup | full-fat coconut milk (cans left unshaken so the cream sits on top) |
| 3 cup | chicken stock |
| 3 tbsp | red curry paste |
| 1 tsp | turmeric (ground) |
| 1 tsp | curry powder |
| 2 tbsp | ginger (finely grated) |
| 4 clove | garlic (minced) |
| 3 unit | shallots (thinly sliced, for the paste) |
| 2 tbsp | fish sauce |
| 1 tbsp | light soy sauce |
| 1 tbsp | dark soy sauce (for colour) |
| 1 ½ tbsp | palm sugar (chopped or grated) |
| 1 lb | fresh egg noodles (for boiling) |
| 5 oz | fresh egg noodles (for frying crisp) |
| 3 cup | neutral oil (for deep-frying the noodle nest) |
| ½ cup | pickled mustard greens (rinsed, drained, sliced) |
| 2 unit | shallots (thinly sliced raw, for the table) |
| 2 unit | lime (cut into wedges) |
| ½ cup | cilantro (leaves and tender stems) |
| 2 tbsp | chilli oil |
Optional
Not counted above. The dish works without them.
| 6 unit | mild dried chillies (stemmed, seeded, soaked — from-scratch paste) |
| 1 tbsp | coriander seed (toasted and ground — from-scratch paste) |
| 2 unit | black cardamom (toasted, seeds ground — from-scratch paste) |
| 1 unit | cinnamon (stick — Chiang Rai branch) |
| 1 unit | star anise (Chiang Rai branch) |
| 1 unit | red onion (thinly sliced, in place of raw shallot) |
Steps
- reduce8 minmedium heat, wide pot, uncovered, barely stirredthe thick cream skimmed off the top of the unshaken coconut cans, heated until it thickens, dulls, and then visibly breaks — the surface goes from smooth white to grainy with a clear oily sheen pooling at the edges. This is the fat separating out of the emulsion, and it is the frying medium for the paste. If you shake the cans first there is no cream to skim and no oil to crack out, and the dish becomes a thin coconut soup with curry powder in it
- fry5 minmedium, in the cracked coconut oil, stirring constantlyred curry paste + turmeric + curry powder + grated ginger + garlic + sliced shallots, fried in the broken cream until the paste darkens a shade and smells roasted rather than raw. Dry spices need fat and heat to release what they hold; stirred into liquid instead they stay chalky and the broth tastes of turmeric dust. Keep it moving — the paste is mostly sugar and aromatics and it scorches the moment the pot goes dry
- simmer50 minbare simmer, partly covered, never a rolling boil+ chicken drumsticks and thighs + the remaining coconut milk + chicken stock, at a lazy simmer until the meat pulls back from the bone and gives when pressed. The bones are the point of the long cook — they release gelatine that gives the broth its body, which is what a twenty-minute sliced-chicken version cannot do. Hold it below a boil: coconut milk kept at a hard boil splits into curds and oil and will not come back together
- season4 minoff the boil, tasting between each addition+ fish sauce + light soy + dark soy + palm sugar, added a little at a time = the finished broth. Every brand of fish sauce and curry paste carries a different salt load, so the written amounts are a starting point and the last teaspoon is decided by tasting. The target is salty first, sweet underneath, with the turmeric and curry powder sitting on top — if it tastes flat it wants fish sauce, not salt, and if it tastes harsh it wants sugar
- fry6 min350°F / 175°C oil, small handfuls, one batch at a timethe reserved raw egg noodles, dropped loose into the oil and lifted out the moment they stop bubbling hard and turn pale gold, about 45 seconds a batch, then drained on paper. This is the same noodle as the one in the broth, and using it twice is what builds the texture contrast into the dish instead of adding it as a topping. Crowding the pot drops the oil temperature below frying range and the strands absorb fat instead of drying out — they come out limp and greasy, and there is no recovering them
- boil3 minhard rolling water, drained wellthe remaining fresh egg noodles, cooked just to tender and divided between four deep bowls. Fresh egg noodles need barely any time and go gummy fast; drain them properly, because water clinging to the strands thins the broth in the bowl and undoes the seasoning you just set
- top3 minassembled and served immediatelyboiled noodles + a piece of chicken + broth ladled over + the fried noodle nest set on top at the last second + pickled mustard greens, raw shallot, lime, cilantro and chilli oil handed round separately. The condiments are not decoration: the pickles and lime cut the coconut fat and each eater finishes the seasoning at the table, which is how the dish is eaten in Chiang Mai. The crisp nest starts softening on contact, so it goes on in front of whoever is eating it