Kanom Jeen Nam Ya (Thai Fish Curry with Rice Noodles)

A saucy Thai fish curry, perfect for dressing noodles.

Overhead of a serving plate of noodles dressed with fish curry, with assorted vegetable garnishes and a soft-cooked egg on the side.

Vicky Wasik

Why This Recipe Works

  • Simmering aromatics and fish in coconut milk creates a flavorful base for the curry.
  • Blending the simmered aromatics rather than pounding them by hand in a mortar and pestle saves time without sacrificing flavor.
  • Cooked fish thickens the blended curry to a saucy consistency, perfect for coating noodles.

If you walk around for a little bit in any of the open-air markets in Thailand, you'll start to notice that shophouses and street vendors all have very specific setups that serve as clues for what they serve to their customers. Finding kanom jeen vendors is easy: their beautiful coils of rice noodles are all laid out next to large pots of curries and piles of vegetables, ready to be tossed together at a moment's notice. Ordering can be a little overwhelming, as you get to pick from both the curry selection to eat with your noodles and what seems like an endless variety of add-ons—vegetables like cabbage, bean sprouts, long beans, and banana blossoms; fruit like green mango and pineapple; and various pickled or coconut-braised vegetables. 

One of the most popular curries served with kanom jeen is nam ya style curry, a coconut-based fish curry that's made by cooking aromatic ingredients along with fish in coconut milk and then blending them, which produces a thick, noodle-coating sauce. There are two main versions of nam ya curry, one from the central plains region of Thailand and another from the southern part of the country. The central plains version uses moderately spicy dried spur chile (prik cheefa), freshwater fish like snakehead fish (pla chaawn), a salted fish (pla goo lao), and includes copious amounts of grachai—a rhizome that’s also known as fingerroot, Chinese keys, and wild ginger—to temper the curry's fishy flavor (in Thai they say, "dap khao pla," which translates loosely to, "kill the fishy odor"). The southern version is more fiery and has a more vibrant yellow hue due to the inclusion of smaller, spicier chiles, black pepper, and fresh turmeric, and uses saltwater fish like mackerel (pla thuu) or barracuda (pla saak) to thicken the curry. The southern version also omits grachai.

The recipe below is based on the central plains version of nam ya, and so grachai is its dominant flavor. However, it isn't uncommon to see a blending of the two versions of the curry in modern-day Thai cooking, and while I try to cook Thai food with respect for its history and traditions, I've borrowed a little from the southern version, most notably by using a saltwater fish (Spanish mackerel) and omitting salted fish, because of its limited availability. That being said, I believe there's no substitute for grachai, which has a peppery, slightly medicinal aroma. And while there's nothing quite like fresh grachai, frozen or brined grachai is widely available at Southeast Asian groceries and online. If you end up using brined grachai, make sure to soak it in fresh water for at least an hour, changing the water every 10 minutes, to remove some of the brininess.

Simmered, Then Pounded

Unlike other curries you may be familiar with, nam ya doesn't start with creating a paste from fresh ingredients in a mortar and pestle. Instead, the ingredients are roughly chopped up and then simmered with fresh fish in coconut milk that has been thinned out with water to approximate the consistency of hang gati, the “tail,” or second or third pressing of coconut milk, which is much lighter and subtly flavored compared to the rich and thick hua gati, or “head” of coconut milk. After simmering, the fish and the aromatic ingredients are removed and pounded separately in a mortar and pestle, so that the fish takes on a crumbly texture and the aromatics are reduced to a paste, after which they're combined with the simmering liquid, more coconut milk, and fish sauce to produce the final curry. I've streamlined and modernized the process a little by using a food processor to pulse the fish to a crumbly texture and to blend the aromatics into their simmering liquid.

Overhead of serving dishes of noodles, vegetables, and fish curry

Vicky Wasik

Noodles, Vegetables, and Garnishes

Nam ya isn't nam ya unless it's paired with rice noodles. Traditionally, kanom jeen noodles are made from rice that's fermented before being extruded into a spaghetti-like noodle, but due to the amount of labor involved and the noodles' short shelf life, it's more common to find kanom jeen noodles that are freshly made from unfermented rice. The best substitute for these noodles is fine vermicelli noodles. After boiling them, rinse them in cold water to remove excess starch and then wrap them into individual coils. They can be left at room temperature up to 3 hours before serving.

You can't have kanom jeen without an assortment of vegetables, herbs, and other accompaniments like soft-boiled eggs, all of which provide pops of freshness and textural contrast to the saucy curry and chewy noodles. Banana blossoms, pickled mustard greens, pennywort, Thai sweet basil, bean sprouts, cabbage, long beans, mung bean sprouts, and cucumbers are all traditional, but feel free to use whatever is in season and available to you.

This is a great warm weather dish, and one that can be made in advance, as the curry is eaten at room temperature and poured over room temperature noodles. Pass the vegetables and garnishes at the table, giving people the option to mix them in with the noodles and curry or eat the curry over the noodles, taking bites of vegetables in between.

Recipe Details

Kanom Jeen Nam Ya (Thai Fish Curry with Rice Noodles)

Prep 10 mins
Cook 50 mins
Total 60 mins
Serves 8 servings

A saucy Thai fish curry, perfect for dressing noodles.


  • For the Curry:
  • 3 cups (710ml) full-fat coconut milk, such as Aroy-D, divided (see note)
  • 7 stalks lemongrass, bottom 4 to 5 inches only, outer leaves discarded, tender core sliced into 1/4-inch-thick rounds (70g sliced lemongrass)
  • 3 ounces (about 12 pieces; 85g) grachai, cut into 1/4-inch-thick rounds (see note)
  • 6 small shallots (120g)
  • 5 medium garlic cloves (25g)
  • One 2-inch piece fresh galangal, peeled and thinly sliced (about 2 tablespoons; 15g) (see note)
  • 1 tablespoon (7g) makrut lime zest from 3 makrut limes (optional, see note)
  • 15 dried Thai chiles (7g), stemmed*
  • 10 dried spur chiles (15g), stemmed and seeded (see note)
  • 2 tablespoons (40g) Thai shrimp paste
  • 2 teaspoons (8g) Diamond Crystal kosher salt
  • Eight 4-ounce (115g) bone-in mackerel steaks (see note)
  • 1/4 cup plus 2 tablespoons (90ml) fish sauce
  • For Serving:
  • 10 1/2 ounces (300g) dried thin rice noodles (vermicelli)
  • Assorted raw vegetables, such as green cabbage, cucumbers, mung bean sprouts, long beans, and banana blossom, thinly sliced (mung bean sprouts left whole)
  • Soft-boiled eggs, for serving (optional)
  • Fresh sweet basil leaves (a.k.a. Thai basil), for serving (optional)


  1. For the Curry: In a 3-quart saucepan, whisk together 2 cups (475ml) coconut milk and 4 cups (1L) water. Add lemongrass, grachai, shallots, garlic, galangal, both kinds of dried chiles, shrimp paste, salt, and mackerel. Stir to combine and bring to a boil over medium-high heat. Cook at a boil, stirring occasionally, until fish is cooked through, about 10 minutes. Using a slotted spoon, transfer fish to a plate and set aside to cool.

    Simmering aromatics and fish in coconut milk

    Vicky Wasik

  2. Return saucepan to medium-high heat, and continue to cook until liquid is reduced to approximately 3 cups (710ml), 10 to 15 minutes. Transfer contents of saucepan to a blender and blend on high speed until smooth, 1 to 2 minutes; wipe out saucepan and return to stovetop. Set aside blended curry.

    Blending aromatics until smooth.

    Vicky Wasik

  3. Using clean hands, pick fish meat from bones and transfer to a mortar and pestle or food processor bowl; discard bones and skin. Pound or pulse until fish is the texture of cooked ground meat, about 1 minute.

    Pulsing picked cooked fish in food processor.

    Vicky Wasik

  4. Return fish and blended curry to saucepan along with remaining 1 cup (240ml) coconut milk, fish sauce, and 1/2 cup (120ml) water. Stir to combine and bring to a boil over over medium-high heat. Reduce to a simmer and cook, stirring occasionally, until curry thickens to a saucy consistency, about 20 minutes.

    Simmering blended curry with fish until thickened to a saucy consistency

    Vicky Wasik

  5. For Serving: Meanwhile, bring a pot of water to a boil over high heat. Add noodles and cook, stirring occasionally, until just tender, about 7 minutes (cooking time varies for vermicelli, so start checking for doneness after 3 minutes). Drain and rinse under cold water. Transfer noodles to a large serving platter or individual plates. Spoon curry over top or pass at the table along with vegetables, eggs, and sweet basil, allowing guests to garnish plates as they please. Serve.

    Overhead of a serving platter of cooked rice noodles, a platter of sliced vegetables, and a bowl of fish curry.

    Vicky Wasik

Special Equipment

3-quart saucepan, blender, food processor or granite mortar and pestle


When purchasing coconut milk, look for versions like the one from Aroy-D that have "100% coconut milk" as the only listed ingredient, rather than those made with coconut extract and water.

Grachai, sometimes spelled krachai, is known by many names in English, including wild ginger, fingerroot, and Chinese keys. Like ginger and galangal, grachai is a rhizome, with a slightly bitter and medicinal aroma. Fresh grachai is nearly impossible to find in the US, but frozen or brined grachai can be found at Southeast Asian markets.

Fresh makrut limes can be hard to find in the US. You can order them online, though they are a seasonal product and may not always be available (note that they are often sold under a different name that we avoid using, as it is a derogatory term in some contexts); you may also be able to find them in the freezer section at Southeast Asian markets. Makrut lime zest freezes well. If you cannot find makrut lime, you are better off omitting it, as the more common Persian lime and other citrus are not good substitutes.

Dried spur chiles are a type of Thai chile known as prik cheefa haeng; they have a fruity, mild flavor, and are prized for the color they impart to curry pastes. They can be hard to come by in the US, but are sometimes available online. Alternatively, you can substitute puya or guajillo chiles, which are available at Central American markets.

Freshwater fish such as tilapia or catfish can be substituted for mackerel. If using boneless fillets, adjust cooking time as needed in step 1, taking into account that fish will cook more quickly.

Make-Ahead and Storage

Curry can be made in advance, and refrigerated in an airtight container for up to 3 days or frozen for up to 2 months. Bring to room temperature, or gently warm on stovetop before serving.