clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon
a bowl of khao soi with shallots, lime wedge, cilantro and fried chilies garnish

Khao Soi: Northern Thai Curry Noodle Soup

5 Stars 4 Stars 3 Stars 2 Stars 1 Star 5 from 10 reviews
  • Author: Pailin Chongchitnant
  • Prep Time: 40 mins
  • Cook Time: 45 mins
  • Total Time: 1 hour 25 minutes
  • Yield: 3 servings


Khao soi ข้าวซอย is a northern Thai noodle soup with egg noodles served in a coconut milk based curry broth and topped with crispy deep fried noodles. It's a dish that will impress!


For the Curry Paste (makes enough for 2 batches of curry):

  • 20 g (0.75 oz) mild dried chilies such as guajillo or puya (see note 1) 
  • 1 tsp coarse salt
  • 10 slices ginger
  • 8 thin slices fresh turmeric or ½ tsp ground turmeric
  • ½ cup chopped shallots
  • 1.5 Tbsp coriander seeds
  • 3 pods black cardamom

For the Noodle Soup

  • 1/2 recipe of the curry paste above
  • 1 cup (250 ml) coconut milk
  • 1 lb (450 g) chicken drumettes or drumsticks
  • 2.5 - 3 cups water
  • 2.5 Tbsp (37.5 ml) soy sauce
  • 2.5 tsp (12.5 ml) sugar
  • 9 oz (250 g) flat fresh egg noodles (also known as wonton noodles)
  • 3 oz (90 g) thin egg noodles for deep frying (you can also use the flat egg noodles)
  • Chopped cilantro and/or green onions for garnish, optional


  • 1 lime, cut into wedges
  • ¼ cup (60 ml) chopped shallots
  • 1/3 cup (90 ml) chopped sour pickled mustard greens
  • Fried chili flakes, to taste (instructions below)

Ingredients and Kitchen Tools I use


For the Curry Paste

  1. Remove the seeds from the black cardamom pods and place the seeds into a medium dry skillet. Add the coriander seeds and toast over high heat, moving them constantly, until the coriander seeds darken slightly. Set aside.
  2. In the same skillet over high heat, place the ginger, shallots and turmeric slices down and let them sear until they're slightly charred. Then flip and char the other side and remove from the pan. You can further chop the ginger pieces to make them a little easier to grind in the mortar and pestle.
  3. If using a coffee grinder for the dry ingredients, grind the toasted black cardamom and coriander seeds into a powder, remove and set aside. Grind the dried chilies into a powder. Then, in a mortar and pestle, pound the ginger, shallots, and turmeric into a fine paste, then add the dry spices and pound to a fine paste.
  4. If using a mortar and pestle for the dry ingredients, grind the black cardamom and coriander into a powder, remove them, then add the rehydrated chilies and the coarse salt and grind until the chilies are fine. Add the ginger, shallots, and turmeric and pound into a fine paste. Add the dry spices and pound to mix.

For the Curry Broth

  1. In a medium pot, add about 1 Tbsp of vegetable oil and saute the curry paste over medium high heat for about 30 seconds.
  2. Add ½ cup of the coconut milk and cook, stirring constantly, until the coconut milk dries up and the paste becomes thick. For certain types of coconut milk, the coconut oil should also start to separate from the paste at this point. If this doesn't happen after the paste has become very thick, that's okay.
  3. Add the chicken and toss to coat in the curry paste. Add the remaining coconut milk, water, and most of the seasonings, reserving some for final adjustment. If using the semi-homemade curry paste, crush the black cardamom pods just until they are open and add them into the broth to infuse.
  4. Bring to a boil and then turn down to a simmer and let the chicken braise for 20-30 minutes until the chicken is fork tender. If using drumsticks, it will take about 40 mins. Make the crispy noodles while the chicken in cooking.
  5. Once the chicken is done, taste and adjust seasoning, adding more water or coconut milk if necessary (you can choose to add more coconut milk if you prefer a richer broth).

For the Crispy Fried Noodles

Remember to fry a small amount of noodles at a time as they will expand A LOT.

  1. Cut the noodles a few times so they are about 4 inches long.
  2. Heat about 1" of frying oil in a wide pot or wok to 350F. 
  3. Add a small handful of noodles into the oil and press the noodles down slightly as they fry. Once the bubbling start to slow down, flip the noodles over and fry until the bubbling stops. (No bubbling means noodles are crispy.) Remove the noodles and let drain on paper towel. This takes just a few seconds per batch.

For the Fried Chili Flakes

  1. Add chili flakes and oil to a small pot or skillet. There should be enough oil that the chili flakes look like wet sand, but not swimming in oil. 
  2. Turn the heat on medium low and keep stirring until the chilies start to darken and smell smoky. Transfer into a small bowl immediately to stop the cooking.


  1. Bring a large pot of water to a full boil on high heat. Meanwhile, separate the noodles into portions if they don't already come in portions.
  2. Once water is boiling, add 1 portion of the egg noodles and stir to loosen them. Cook for just 1 minute and use a wire skimmer to fish them out and place in a serving bowl. Repeat with the remaining portions, waiting for the water to come back to a boil each time.
    (If you don't have too many portions to cook, I recommend cooking one portion of noodles at a time as it is a royal pain to separate a large clump of cooked noodles. If you have a noodle strainer, it makes this very easy.)
  3. Pour the hot curry broth over the noodles and add the chicken to the bowl. Top with a handful of the crunchy noodles. Top with some chopped cilantro and/of green onions if you like and serve immediately with all the condiments.

Join us on Patreon for bonus content & rewards!


  1. If you don't have a coffee or spice grinder, you'll need to pound the chilies by hand, in which case you need to cut them into 1" chunks, and soak in water for at least 1 hour to fully to rehydrat