In Singapore, many people call this “Odeon Beef Noodles” because of a famous food stall that used to peddle opposite the Odeon Cinema back in the seventies. The cinema is not there anymore neither is the stall, but the dish has been existing for a long time even prior to this. A famous one that has survived is the Hock Lam beef noodles restaurant.

This is my take on this popular beef noodles.

Chinese Hainan Cuisine, also known as ‘Qiong Cuisine’

No one really knows about the origin of this dish, many claim it to be Singaporean. After some browsing on the web, I suspect it is closely linked to the beef noodles in Qiong Cuisine (琼菜) of Hainan Island (海南) in China.

Hainan Island is the only tropical island of China and is a province on its own. The only part of China located in Southeast Asia, the cuisine of Hainan incorporates many aspects of Southeast Asian cuisines, those of the native Miao and Li nations and the Chinese cuisines to its north such as Yue ‘Cantonese’ cuisine (粤菜) of the Canton province and Min ‘Hokkien’ cuisine (闽菜) of the Fujian province.

Qiong cuisine uses Southeast Asian spices like in Indonesian cuisine, tropical fruits such as calamansi limes, mango and papaya like in Filipino cooking, as well as coconut milk like in Thai cuisine. A famous Hainan dish is sea crab cooked with coconut. They often employ a fermented sticky-rice wine (山兰糯米酒) made by the Li people, unlike the Shaoxing rice wine used on the continent.

For this recipe, you will need a spice sack and three big pots.

Serving: 3 persons


  • 600g fresh thick rice noodles, known as “chor bee hoon” (粗米粉); Use dried ones if not available.
  • 4l water
  • 800g beef ribs, cut separately
  • 400g beef tendons, each tendon chopped into three portions
  • 200g beef tripes, cut into strips  (optional)
  • 12 Chinese beef meatballs (optional)
  • 500g beef tenderloin, sliced thinly
  • 2 strips pickled cabbage called Suan Cai (酸菜)
  • 100ml fermented sticky-rice wine or Shaoxing rice wine
  • Dark soy sauce
  • 2 pieces of young ginger of 5 cm long, shaved
  • 3 cloves of garlic, do not peel
  • 5 tbs corn starch
  • Oxo beef stock concentrate
  • Salt and pepper to taste

Stew spices: Use 1 tbs Chinese five-spice powder
If you cannot find that, use Southern Chinese stew spices (which I prefer):

  • 3 star anises
  • 1 cinnamon stick
  • 5 cloves
  • ½ tps nutmeg
  • 2 pieces licorice root
  • 1 tbs fennel seeds
  • 4 laurel leaves


  • 3 handful of beansprouts, pluck off head and root
  • 3 tbs, minced fresh garlic
  • Chopped parsley
  • 1 calamansi or half a lime
  • White pepper powder
  • Minced Suan Cai (酸菜)

Dip sauce:

  • Chili sauce
  • 1 calamansi or half a lime
  • 3cm of galangal root, minced (optional)
  • Cincaluk (Malay fermented shrimp paste) (optional)


  1. We first make the basic broth. Boil 4 litres of water in a pot (Pot A), place in it your ribs and tendons, together with your ginger and garlic. Once boiling, add 2 tbs Oxo beef stock, minced suan cai, 3 tbs dark soy sauce and salt and pepper to taste. Cover and let it simmer for 15 minutes. Turn off the fire and take out half of the soup (around 2 litres) and put it into another pot (Pot B) and leave aside.
  2. We now soften the beef offal and enrich the broth with spices. Put your spices into a spice bag, seal and place in the pot/or use five spice powder with the soup and all the contents (Pot A). Cover and simmer over low fire (around 140 degree celsius) for about 6 hours. Add water if necessary to prevent it from drying up beyond half of its liquid. The idea is to cook the tendons until they are extremely soft (not even springy) and the meat falls off the rib. Once done, take out the spice bag. Transfer all the ribs, meat and tendons to the other pot of soup (Pot B).
  3. We can now make the gravy: Add another 2 tbs dark soy sauce, 100ml of fermented rice wine to the Pot A. Bring to boil. There should be about 1 litre of soup left after the six hours of simmering. Add some more Oxo beef stock, salt and/or pepper to taste, if necessary. Mix 5 tbs corn starch in a bowl with water of room temperature, mix well. Slowly pour into Pot A with one hand and with the other hand use a ladle to stir very quickly to prevent clustering. Once the mixture is thick, dark and sticky, turn off the fire.
  4. We now make the beef soup: Bring to boil Pot B, add in your sliced beef tripes and beef meatballs. Let it simmer for 5 minutes which should turn the meatballs and tripes soft, turn it to low heat and let it bubble.
  5. And now we are ready to cook the noodles! Bring to boil a large pot of water (Pot C). Once boiling, cook your fresh/dried rice noodles until soft. Once ready, drain very well and serve in three big bowls (around 200g per person). Blanche your beansprouts in the same pot until soft, drain and place with noodles in the bowls. From the contents of your beef soup (Pot B), pick out the beef ribs, tendons, stomach and meatballs and distribute evenly among the three bowls. Place your slices of fresh tenderloin on a ladle and scorch them slightly with the boiling soup of Pot B. Distribute into three and place in the three bowls. Pour 2 ladles of dark gravy (from Pot A) over the content of each bowl. Garnish with parsley, minced suan cai, a dash of white pepper, minced garlic and a squeeze of calamansi or lime.
  6. Serve with a bowl of soup from Pot B, and a saucer of dip sauce made with chili sauce, minced galangal, a teaspoonful of cincaluk and calamansi/lime juice.



  • If you cannot find Oxo beef stock where you live, any other concentrated liquid beef stock will do.
  • Drain your noodles and beansprouts very well, otherwise the water they collect would dilute the gravy too much.