Traditionally sold by boat vendors that floated along Bangkok’s canals and rivers, hence the name, these noodles are often bought rather than made at home, due to the many different elements that go into the dish.






Skill level

Average: 2.4 (17 votes)


  • 1 beef shank (about 1 kg)
  • 800 g beef bones
  • 185 ml (¾ cup) light Thai soy sauce (see Note)
  • 2 tbsp Thai sweet soy sauce (see Note)
  • 60 g galangal, thinly sliced (see Note)
  • 30 g crystal rock sugar (see Note)
  • 6 coriander roots, plus coriander leaves, to serve
  • 3 star anise
  • 3 lemongrass stalks, white part only, crushed
  • 2 pandanus leaves (see Note), tied in a knot
  • 2 makrut lime leaves, coarsely torn
  • 2 cassia quills
  • 1 tbsp black peppercorns
  • 370 g packet beef balls (see Note)
  • 80 ml (⅓ cup) beef blood (see Note)
  • 1 kg fresh rice noodles (see Note)
  • 640 g flank steak, trimmed, thinly sliced


Vinegar chillies

  • 8 bird’s-eye chillies, thinly sliced
  • 125 ml (½ cup) white vinegar


Fried garlic

  • 250 ml (1 cup) vegetable oil
  • 8 garlic cloves, thinly sliced 

Cook's notes

Oven temperatures are for conventional; if using fan-forced (convection), reduce the temperature by 20˚C. | We use Australian tablespoons and cups: 1 teaspoon equals 5 ml; 1 tablespoon equals 20 ml; 1 cup equals 250 ml. | All herbs are fresh (unless specified) and cups are lightly packed. | All vegetables are medium size and peeled, unless specified. | All eggs are 55-60 g, unless specified.


Place shank, bones and 3 litres (12 cups) water in a large saucepan over medium heat. Bring to a simmer, skimming surface to remove impurities, then reduce heat to low. Add soy sauces, galangal, sugar, coriander roots, star anise, crushed lemongrass stalks, pandanus leaves, makrut lime leaves, cassia and peppercorns, and cook over a low heat, topping up with additional water if necessary, for 2 ½ hours or until shank is tender.

Strain stock through a fine sieve into a clean saucepan, discarding solids except for shank. Shred meat from bone and discard bone. Season to taste as needed with soy and sugar. Set aside.

Meanwhile, to make fried garlic, heat oil in a small saucepan over medium heat to 180°C (or until a cube of bread turns golden in 10 seconds). Add garlic and cook, stirring, for 1 minute or until golden. Remove with a slotted spoon, transfer to a plate lined with paper towel and set aside. Reserve oil.

To make vinegar chillies, combine chillies and vinegar in a bowl, stir to combine and set aside.

Add beef balls to stock and cook for 3 minutes or until warmed through, then transfer to serving bowls. Stir beef blood through soup, bring to a simmer and cook for 2 minutes to thicken.

Meanwhile, blanch noodles in boiling water for 30 seconds or until hot. Drain and divide among 8 serving bowls.

Add flank steak to stock and cook, stirring for 30 seconds or until just cooked. Divide steak, shredded shank meat, beef balls, and stock between serving bowls, top with coriander leaves, fried garlic, garlic oil and vinegar chillies and serve hot.


• Light Thai soy sauce, Thai sweet soy sauce, galangal, crystal rock sugar, pandanus leaves and fresh rice noodles are available from Thai food shops and select Asian food shops.
• Beef balls are available from the refrigerated and frozen section of Asian food shops.
• Beef blood is available from select butchers; call your butcher in advance to order.



Photography Brett Stevens


As seen in Feast magazine, October 2014, Issue 36.