Main course

Hainanese Chicken Rice Recipe (Singapore)

Hainanese Chicken Rice Recipe (Singapore)
A
Asha
This post may contain affiliate links which means I may earn commissions for purchases made through links at no extra cost to you. See Disclaimer for more information.

The first time I made this at home, I skipped the ice bath. The chicken was correctly poached, the rice was fragrant, the sauces were right. But the skin was soft, slightly greasy, and nothing like the firm, almost translucent skin I had eaten at hawker stalls. The meat was fine. The skin was wrong. I could not figure out what was missing until I read that the ice bath is not just about stopping the cooking. It is about what happens to the gelatin in the skin when it hits near-freezing water immediately after poaching.

The rapid temperature drop from approximately 80°C to near 0°C causes the gelatin that has formed in the skin during poaching to set almost instantly. It solidifies inside the skin structure while still intact, producing the characteristic texture of proper Hainanese chicken: firm when you press it, slightly translucent, with a smooth surface that reflects the light. Without the ice bath, the skin keeps cooking from residual heat, the gelatin stays soft, and the texture stays slightly greasy. Ten minutes in ice water changes the entire eating experience.

Complete Hainanese chicken rice plate with sliced poached chicken over fragrant rice, sliced cucumber, three dipping sauces and clear broth on a linen surface

What is Hainanese chicken rice and where does it come from?

Hainanese chicken rice is a complete meal system: a whole chicken poached in seasoned stock, rice cooked in the poaching liquid with rendered chicken fat, three dipping sauces, a bowl of the same clear stock, and sliced cucumber. Every component on the plate comes from the same chicken. The poaching liquid is not waste. It becomes the rice cooking liquid, the broth served alongside, and a component of the chilli sauce. The chicken flavours everything else on the plate.

The dish originated in Hainan, an island province of southern China, based on the Wenchang chicken preparation, a specific breed fed on peanut bran and coconut, prized for its generous subcutaneous fat and flavourful skin. Hainanese migrants arriving in Singapore and Malaysia in the early 20th century brought the dish with them and adapted it to local conditions. The free-ranging Wenchang breed was not available, but the technique survived and deepened. By the mid-20th century, Singapore chicken rice had become its own distinct thing, more technique-intensive than the Hainan original, with the ice bath and three-sauce format not found in the ancestral dish.

Today it is Singapore’s unofficial national dish, found at hawker centres and coffee shops across the island from early morning. The best hawker stalls poach dozens of chickens daily in the same stock, which deepens with each bird. Home cooking approximates but cannot replicate that accumulated flavour, though understanding why the hawker version tastes different helps you get as close as possible.

Why do you poach the chicken at a gentle simmer and not a full boil?

The temperature of the poaching liquid determines the texture of the finished chicken more than any other single variable.

At a rolling boil (100°C), two things happen that damage the chicken. The rapid agitation of the water physically moves the chicken around, and that movement tears at the delicate skin. More importantly, the high heat causes the muscle proteins to seize and contract quickly and hard, squeezing moisture out of the fibres. The result is meat that is cooked through but slightly tough and noticeably drier than it should be.

At a gentle simmer, 80-85°C, where occasional single bubbles rise slowly from the bottom rather than a continuous boil, the heat penetrates the chicken gradually. At this temperature, the collagen in the connective tissue and skin has time to partially hydrolise into gelatin before the muscle proteins fully contract. The meat reaches safe temperature while retaining more moisture. The skin becomes the starting material for the ice bath step, partially converted to gelatin, ready to set.

The practical test: after bringing the stock to a boil with the aromatics, reduce the heat until the surface is barely moving. A single bubble every 2-3 seconds. Lower the chicken in gently. Adjust the heat to maintain that barely-moving surface throughout the poaching time. If the stock starts boiling around the chicken, turn it down immediately.

What is the repeated dunking technique and why does it work?

Traditional Singaporean hawker cooks use a technique that most home recipes skip. Before the final poach, they repeatedly lower the whole chicken into the simmering stock, hold it for 30-40 seconds, lift it out and hold it above the pot for 10-15 seconds, then lower it again. Three or four rounds before the chicken goes in to poach fully.

The purpose is temperature control inside the cavity. A whole chicken has a hollow body cavity that heats more slowly than the exterior. If you simply lower the chicken and leave it, the breast meat nearest the hot stock reaches safe temperature before the inner thigh. By the time the inner thigh is done, the breast has been overcooked. The dunking fills the cavity with hot stock, heats the interior gradually with each submersion, and allows the temperature inside to stabilise between dunks before the next immersion.

At home without the benefit of watching a hawker do it: lower the whole chicken breast-side down into the simmering stock. Lift completely out of the stock after 30 seconds. Let it drip over the pot for 10-15 seconds. Lower again. Repeat three times. Then lower the chicken fully into the stock and poach for the full time. The internal temperature reaches safe temperature far more evenly this way.

What does the ice bath do to the chicken skin?

Poached chicken pieces submerged in ice water with ice cubes in a large white ceramic bowl showing the ice bath technique for Hainanese chicken rice

Everything that makes Hainanese chicken skin distinctive happens in this step.

The poaching process at 80-85°C converts some of the collagen in the skin into gelatin. At poaching temperature, that gelatin is liquid, it sits inside the skin structure as a warm, soft gel. If the chicken is left to cool gradually at room temperature, the gelatin remains soft and the skin texture stays somewhat loose and slightly greasy.

When the just-poached chicken goes immediately into ice water, the rapid temperature drop causes the gelatin to set almost instantly. It solidifies within the skin structure while the structural proteins of the skin are still intact. The result is skin that is firm when pressed, slightly translucent, with a smooth, tight surface. This is what people mean when they describe Hainanese chicken as silky, it is the texture of set gelatin inside intact skin.

Ten to fifteen minutes in ice water is the right duration. Less and the gelatin has not fully set. More and the chicken cools too far and loses its serving temperature. After the ice bath, rub the chicken all over with sesame oil, this adds flavour and prevents the skin from drying out before serving.

Why do you render chicken fat and toast the rice in it?

Close-up of Hainanese chicken rice showing distinct separate jasmine rice grains with a golden sheen from rendered chicken fat and pandan leaf in a white ceramic bowl

The rice is where most home versions fall short of the hawker stall standard. The difference is almost entirely in the fat.

Hainanese chicken rice is not jasmine rice cooked in chicken stock. It is rice toasted in rendered chicken fat before any liquid is added, with aromatics fried in that fat, then cooked in the poaching liquid. The toasting step creates a fat barrier around each rice grain.

When raw rice grains are coated in fat before cooking, the fat slows water absorption during the cooking process. Each grain absorbs water at a more controlled rate, cooking evenly from outside to centre rather than the exterior swelling faster than the interior. The result is rice grains that are tender throughout but still slightly distinct and separate, the specific texture of proper chicken rice.

Without the fat coating, jasmine rice cooked in stock absorbs water rapidly and produces stickier, less distinct grains. The flavour from the stock is present but the texture is different.

Rendering the chicken fat: pull the pale yellowish fat deposits from the neck cavity and around the tail of the raw chicken before poaching. Chop roughly. Place in a small pan over very low heat with 2 tablespoons of water. Cook slowly for 20-30 minutes until the water evaporates and the fat renders clear, with the remaining solid pieces turning golden and crispy. Strain. The rendered fat keeps in the refrigerator for a week and the crispy rendered pieces (chicken cracklings) can be scattered over the finished dish or eaten on their own.

What do the three dipping sauces actually do?

Three white ceramic bowls of Hainanese chicken rice dipping sauces in a row — ginger-scallion oil, red chilli-garlic sauce and dark soy sauce on a white surface

Every version of this dish comes with three sauces. They are not three options, they are three structural components of the meal. Each does something specific that the others do not.

Ginger-scallion oil is the most important. Fresh ginger and spring onion are minced finely and placed in a bowl. Near-boiling neutral oil is poured over them, the contact with hot oil releases the aromatic compounds from both vegetables into the fat. The oil carries those aromatics and deposits them on the chicken surface with every dip. It adds an aromatic richness that no other component of the dish provides.

Chilli-garlic sauce provides the contrast. Fresh red chillies, garlic, ginger, lime juice, and a small amount of the hot poaching liquid blended together. The acid from the lime juice and the heat from the chilli cut through the richness of the chicken fat, the rice fat, and the sesame oil. Without this contrast, the meal becomes heavy after a few bites.

Dark soy sauce with sesame oil is the connector. Sweet, thick, slightly caramelised in character, drizzled over the sliced chicken it ties the neutral rice to the savoury chicken and provides the sweet-savoury element that balances the heat of the chilli sauce and the aromatics of the ginger oil. A meal with all three sauces tastes complete in a way that no single sauce achieves.

Ingredients

 Overhead flat lay of Hainanese chicken rice ingredients on white surface including whole raw chicken, ginger, spring onions, jasmine rice, garlic, pandan leaves, red chillies, lime, soy sauce and sesame oil

Serves 4, this is a complete meal system. Every component matters.

The chicken:

  • 1 whole chicken, approximately 1.5-1.8kg (3.3-4lb), preferably free-range
  • 3 litres (12 cups) water
  • 3 thumbs fresh ginger, unpeeled, bruised
  • 4 spring onions, tied in a knot
  • 1 tbsp salt
  • 1 tsp MSG or chicken powder (optional but traditional)

The rice:

  • 400g (2 cups) jasmine rice, rinsed
  • Rendered chicken fat from the chicken (instructions below)
  • 4 garlic cloves, minced
  • 2cm fresh ginger, grated
  • 2 pandan leaves, tied in a knot (or 1 tsp pandan extract)
  • 500ml (2 cups) reserved poaching liquid
  • Salt to taste

Ginger-scallion oil:

  • 6 spring onions, finely minced
  • 4cm fresh ginger, finely minced
  • 1 tsp salt
  • 4 tbsp neutral oil, heated until just smoking

Chilli-garlic sauce:

  • 6 fresh red chillies, roughly chopped
  • 4 garlic cloves
  • 2cm fresh ginger
  • Juice of 1 lime
  • 3 tbsp reserved poaching liquid
  • 1 tsp sugar
  • ½ tsp salt

Dark soy sauce:

  • 3 tbsp dark soy sauce
  • 1 tsp sesame oil
  • 1 tsp sugar (stir until dissolved)

To serve:

  • ½ cucumber, thinly sliced
  • Reserved poaching liquid (as clear broth), seasoned with salt
  • Sesame oil for rubbing the chicken after ice bath
  • Large bowl of ice water for the ice bath

Instructions

Read through all four components before starting. Begin with the chicken, then render the fat while the chicken poaches, then make the rice and sauces.

Step 1: Render the chicken fat

Before poaching, remove the fat deposits from the neck cavity and around the tail. Chop roughly. Place in a small pan with 2 tablespoons water over very low heat. Cook 20-30 minutes until water evaporates and fat renders clear. Strain. Set aside.

Step 2: Poach the chicken, repeated dunking method

Bring 3 litres of water to a boil in a large pot with the ginger, spring onions, salt, and MSG if using. Taste the liquid, it should taste pleasantly salty. Reduce to a very gentle simmer, barely moving surface.

Holding the chicken by the cavity, lower it into the stock for 30-40 seconds. Lift completely out. Hold above the pot 10-15 seconds. Lower again. Repeat 3-4 times. Then lower the chicken fully into the stock, breast-side down. Cover partially. Poach at 80-85°C (gentle simmer, not boiling) for 35-40 minutes for a 1.5kg bird. Add 5 minutes per additional 200g.

Check doneness by inserting a chopstick or skewer into the thickest part of the thigh, the juices should run clear with no pink. Internal temperature at the thigh joint: 75°C.

Step 3: Ice bath

Prepare a large bowl of ice water while the chicken poaches. The moment the chicken is done, remove it immediately and plunge it into the ice water. Submerge completely. Hold for 10-15 minutes. The ice bath stops the cooking and sets the gelatin in the skin.

Remove from the ice bath. Rub all over with sesame oil. Set aside to rest. Reserve the poaching liquid, do not discard a single drop.

Step 4: Make the rice

Heat 2 tablespoons of the rendered chicken fat in a heavy saucepan over medium heat. Add garlic and ginger. Fry 30-45 seconds until fragrant. Add the rinsed rice and stir to coat every grain in the fat. Toast for 2 minutes, stirring constantly, until the grains are evenly coated and beginning to smell nutty.

Add 500ml of the reserved poaching liquid and the pandan leaves. Add salt to taste. Bring to a boil, then reduce to the lowest possible heat. Cover tightly. Cook 12-15 minutes. Remove from heat. Leave covered for 10 minutes. Fluff gently with a fork.

Step 5: Make the three sauces

Ginger-scallion oil: Place minced spring onion, ginger, and salt in a heatproof bowl. Heat neutral oil until just beginning to smoke. Pour directly over the ginger-scallion mixture. It will sizzle and sputter. Stir. Leave 5 minutes to infuse.

Chilli-garlic sauce: Blend chillies, garlic, ginger, lime juice, poaching liquid, sugar, and salt until smooth. Taste and adjust, it should be hot, sour, and slightly salty.

Dark soy: Stir dark soy sauce, sesame oil, and sugar together until sugar dissolves.

Step 6: Assemble and serve

Slice or chop the chicken into serving pieces, bone-in pieces traditional, boneless sliced also common. Arrange over a mound of the fragrant rice. Add sliced cucumber alongside. Place the three sauces in small dishes. Ladle the clear poaching broth (seasoned with salt) into bowls alongside the main plate.

Serve everything at once. Each person seasons their own chicken with whichever combination of sauces they prefer. The correct way is to use all three.

What is the difference between Singapore, Malaysian, Thai, and Vietnamese chicken rice?

All four are descendants of the same Hainanese Wenchang chicken preparation, adapted differently across Southeast Asia.

Singapore chicken rice is the most technique-intensive. The ice bath is standard practice, producing the silky skin the dish is known for. Three sauces are served. The rice is cooked in the poaching liquid with rendered chicken fat. The chicken is served cold or at room temperature.

Malaysian chicken rice shares most of the Singaporean approach but the rice is frequently scented with pandan leaves, giving it a slightly greener, more floral character. Some Malaysian versions use roasted or soy sauce chicken rather than poached.

Thai khao man gai uses a lighter, cleaner broth with less emphasis on the poaching technique depth. The dipping sauce is typically a single ginger-garlic-chilli sauce with lime, without the dark soy component. The rice is cooked with similar technique but in a lighter stock. The chicken is sliced neatly and served warm rather than cold.

Vietnamese cơm gà Hải Nam often uses turmeric-tinted rice, giving it a yellow colour absent from the other versions. Herbs, Vietnamese mint, laksa leaf, appear on the plate in a way uncommon in Singapore or Malaysian versions. The flavour profile is lighter and more herb-forward

How do you store and reheat Hainanese chicken rice?

The chicken is best served the day it is made. The skin texture from the ice bath begins to change after refrigeration, the gelatin softens slightly in the cold. The next day the chicken is still delicious but the skin character is different.

To store: keep the sliced chicken refrigerated, covered, for up to 2 days. Store the rice and the broth separately. The three sauces keep refrigerated for 3-5 days.

To reheat the chicken: steam briefly for 3-5 minutes rather than microwaving, steaming reheats without toughening the meat. Alternatively, bring the reserved poaching broth to a gentle simmer and lower the chicken pieces in for 2-3 minutes until warmed through.

Reheat the rice in a covered steamer or in the microwave with a splash of water.

FAQ

Why is my Hainanese chicken skin soft and greasy instead of silky? The ice bath was skipped or insufficient. The silky, slightly firm texture of proper Hainanese chicken skin comes from gelatin setting rapidly during the ice bath. If the chicken is allowed to cool gradually at room temperature, the gelatin stays soft and the skin texture stays greasy. Make the ice bath before you start poaching, have it ready the moment the chicken comes out of the stock. Submerge the chicken for a full 10-15 minutes.

Why does my chicken rice taste like plain rice cooked in broth? The fat toasting step was skipped or insufficient. Raw rice added directly to broth without being toasted in chicken fat first absorbs water faster, producing stickier grains that taste of broth rather than of infused chicken fat. Toast the rinsed rice in rendered chicken fat for 2 full minutes before adding any liquid. Every grain should be evenly coated and the rice should smell faintly nutty before the liquid goes in.

Can I use chicken pieces instead of a whole chicken? Yes, with adjustments. Bone-in skin-on thighs produce the closest result to whole chicken poaching. Reduce the poaching time to 20-25 minutes at the same gentle simmer temperature. Skip the dunking technique, it is designed for whole chicken cavity temperature control. The ice bath still applies and is still important for the skin texture. The poaching liquid from pieces is less flavourful than from a whole chicken, compensate by adding a small amount of chicken stock powder to the liquid.

What is the best chicken to use for Hainanese chicken rice? A free-range whole chicken produces the best result. Free-range chickens have more subcutaneous fat from their activity level, which provides more gelatin precursor collagen during poaching and produces better skin texture. Commercial battery chickens have less subcutaneous fat and thinner skin, the ice bath effect is still present but less pronounced. If free-range is available and within budget, it makes a noticeable difference to the skin.

You might also like: Check out our complete Chinese cooking guide for more essential ingredients and techniques.

Main course

Hainanese Chicken Rice Recipe (Singapore)

Chinese
Medium
4 people
Main Ingredients

Singaporean, Dinner, Chicken

Prep

PT30M

Cook

PT1H30M

Total

PT2H

Nutrition Facts

Calories 100
Protein 10 g
Fat 3 g
Carbs 9 g

Ingredients

  • 1 whole chicken, approximately 1.5-1.8kg (3.3-4lb), preferably free-range
  • 3 litres (12 cups) water
  • 3 thumbs fresh ginger, unpeeled, bruised
  • 4 spring onions, tied in a knot
  • 1 tbsp salt
  • 1 tsp MSG or chicken powder (optional but traditional)
  • 400g (2 cups) jasmine rice, rinsed

Instructions

  1. Step 1: Render the chicken fat - Before poaching, remove the fat deposits from the neck cavity and around the tail. Chop roughly. Place in a small pan with 2 tablespoons water over very low heat. Cook 20-30 minutes until water evaporates and fat renders clear. Strain. Set aside.
  2. Step 2: Poach the chicken, repeated dunking method - Bring 3 litres of water to a boil in a large pot with the ginger, spring onions, salt, and MSG if using. Taste the liquid, it should taste pleasantly salty. Reduce to a very gentle simmer, barely moving surface. Holding the chicken by the cavity, lower it into the stock for 30-40 seconds. Lift completely out. Hold above the pot 10-15 seconds. Lower again. Repeat 3-4 times. Then lower the chicken fully into the stock, breast-side down. Cover partially. Poach at 80-85°C (gentle simmer, not boiling) for 35-40 minutes for a 1.5kg bird. Add 5 minutes per additional 200g. Check doneness by inserting a chopstick or skewer into the thickest part of the thigh, the juices should run clear with no pink. Internal temperature at the thigh joint: 75°C.
  3. Step 3: Ice bath - Prepare a large bowl of ice water while the chicken poaches. The moment the chicken is done, remove it immediately and plunge it into the ice water. Submerge completely. Hold for 10-15 minutes. The ice bath stops the cooking and sets the gelatin in the skin. Remove from the ice bath. Rub all over with sesame oil. Set aside to rest. Reserve the poaching liquid, do not discard a single drop.
  4. Step 4: Make the rice - Heat 2 tablespoons of the rendered chicken fat in a heavy saucepan over medium heat. Add garlic and ginger. Fry 30-45 seconds until fragrant. Add the rinsed rice and stir to coat every grain in the fat. Toast for 2 minutes, stirring constantly, until the grains are evenly coated and beginning to smell nutty. Add 500ml of the reserved poaching liquid and the pandan leaves. Add salt to taste. Bring to a boil, then reduce to the lowest possible heat. Cover tightly. Cook 12-15 minutes. Remove from heat. Leave covered for 10 minutes. Fluff gently with a fork.
  5. Step 5: Make the three sauces - Ginger-scallion oil: Place minced spring onion, ginger, and salt in a heatproof bowl. Heat neutral oil until just beginning to smoke. Pour directly over the ginger-scallion mixture. It will sizzle and sputter. Stir. Leave 5 minutes to infuse. Chilli-garlic sauce: Blend chillies, garlic, ginger, lime juice, poaching liquid, sugar, and salt until smooth. Taste and adjust, it should be hot, sour, and slightly salty. Dark soy: Stir dark soy sauce, sesame oil, and sugar together until sugar dissolves.
  6. Step 6: Assemble and serve - Slice or chop the chicken into serving pieces, bone-in pieces traditional, boneless sliced also common. Arrange over a mound of the fragrant rice. Add sliced cucumber alongside. Place the three sauces in small dishes. Ladle the clear poaching broth (seasoned with salt) into bowls alongside the main plate. Serve everything at once. Each person seasons their own chicken with whichever combination of sauces they prefer. The correct way is to use all three.

Did you make this recipe?

Tag @asianfoodsdaily on Instagram or leave a comment below!

Asha

About Asha

Half Asian, half African cook raised between two food-obsessed cultures. I've spent 10 years learning Asian cooking traditions through family, friends, and thousands of hours at the stove — testing every dish until it works in a standard home kitchen.

Read my full story
#Singaporean #Dinner #Chicken #Weekend Cooking #Asian Chicken Dishes #Chinese #Main course

Related Recipes

Post your Comment

Loading comments...