Main Courses
This 1 pot Hainanese chicken rice recipe delivers restaurant-quality results with minimal cleanup—where fragrant coconut-infused broth meets perfectly steamed jasmine rice in a single pot. 🌟 The secret lies in double-boiling the rice while simmering the chicken, creating a delicate balance of sweet, sour, and savory flavors that define this Singaporean classic. Every bite combines tender chicken, aromatic broth, and fluffy rice with a crispy coconut crust that elevates the dish to new heights.
What sets this recipe apart is the authentic technique of cooking the rice directly in the chicken broth, allowing the flavors to meld seamlessly. We start with bone-in chicken and aromatic spices like pandan leaves, ginger, and garlic to build a rich, fragrant base. The coconut milk adds a subtle sweetness that contrasts beautifully with the tangy lime and chili garnishes, while the crispy coconut crust on top adds a satisfying textural element.
The result is a complete, restaurant-style meal that requires just one pot and about 45 minutes of active time. The rice remains perfectly steamed while absorbing the flavorful broth, and the chicken emerges tender and infused with the essence of the spices. This method ensures no flavor is left behind—every spoonful delivers a harmonious blend of textures and tastes.
Serve this dish with classic accompaniments like sambal, lime wedges, and cucumber slices for that authentic Hainanese experience. The crispy coconut crust on the rice adds a touch of luxury, making this dish perfect for special occasions or a comforting weeknight dinner. Let’s get cooking!
Ingredients for 1 pot hainanese chicken rice
Fragrant coconut milk, tender chicken thighs, and aromatic jasmine rice create this Singaporean classic in one pot.
| Ingredient | Amount | Notes |
|---|---|---|
| Bone-in Chicken Thighs 🍗 | 1 ½ lb | Skin-on preferred for flavor |
| Jasmine Rice 🍚 | 1 ½ cups | Uncooked, long-grain preferred |
| Coconut Milk 🥥 | 1 can | Full-fat, 13.5 oz can |
| Pandan Leaves 🌿 | 2 whole | Fresh, tied in bundle |
| Fresh Ginger 🧅 | 2 tbsp | Grated, aromatic |
| Garlic Cloves 🧄 | 6 cloves | Minced, aromatic |
| Shallots 🧅 | 2 whole | Minced, for depth |
| Lime Juice 🍋 | ½ cup | Freshly squeezed |
| Chicken Broth 💧 | 2 cups | Homemade or quality store-bought |
| Coconut Cream 🥥 | ½ cup | Thick, for crispy crust |
| Shredded Coconut 🥥 | ¼ cup | Toasted, for texture |
| Salt 🧂 | 1 ½ tsp | Adjust to taste |
| White Pepper 🌶️ | ½ tsp | Freshly ground |
| Sugar 🍯 | 1 tbsp | Balances flavors |
| Vegetable Oil 🫒 | 2 tbsp | For cooking chicken |
The coconut milk makes or breaks this dish—full-fat, 13.5 oz cans from Thai or Filipino markets deliver the richest flavor. Look for brands like Aroy-D or Chaokoh if available, but any quality canned coconut milk works. Fresh pandan leaves are non-negotiable for that signature aroma—Asian grocery stores carry them bundled, or use pandan extract (1 tsp) if you can't find fresh. The chicken thighs should be bone-in, skin-on for maximum flavor infusion, and Trader Joe's or Costco often have great prices on whole legs to portion yourself.
No pandan leaves? Vanilla extract (1 tsp) or pandan extract works in a pinch, though fresh is ideal. Substituting coconut milk with light coconut milk will yield a thinner broth—stick with full-fat for that authentic texture. For the coconut crust, toasted coconut flakes add extra crunch, but unsweetened desiccated coconut works too. The shallots and garlic should be finely minced for even distribution of flavor—no need to peel the garlic if it's fresh, just smash the cloves with the side of your knife. Fresh ginger is a must—pre-grated jars lack the punch of freshly grated.
Store any leftover broth in the fridge for up to 5 days—it makes an excellent soup base. The crispy coconut rice crust loses its crunch after 2 days, so reheat only what you plan to eat immediately. For optimal texture, toast the coconut flakes in a dry pan for 2-3 minutes before adding to the pot. This dish reheats beautifully—cover with foil and warm in a 350°F oven for 15 minutes to restore moisture without sogging the rice.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this—no chopping boards, no crowded stove. The chicken thighs simmer right in the pot with the rice, so you’re basically done after stirring a few times. That fragrant pandan and coconut milk do all the work while you sip your tea.
- Rich, Fragrant Bite: Between us, the ginger and pandan turn this into something ridiculously good. The chicken stays juicy, the rice soaks up that creamy coconut milk, and the aroma? Like walking into a Singaporean café. (Yes, even on a Tuesday night.)
- Weeknight to Potluck: Make it for dinner, then reheat the leftovers for lunch—same flavors, zero fuss. My kids actually ask for this when I bring it to school events. The rice stays fluffy, the broth stays rich, and it’s always a crowd-pleaser.
- Budget-Friendly Feast: Bone-in thighs stretch for meals, and jasmine rice is cheap. Coconut milk and ginger add depth without breaking the bank. I’ve fed six people for under $15, and they all left happy. That’s my kind of cooking.
Step-by-step instructions for one-pot Hainanese chicken rice
Master this aromatic technique for tender chicken and fragrant rice in a single pot.
🍳 Step 1: Sear the Chicken for Deep Flavor
Heat the 2 tablespoons vegetable oil in a heavy-bottomed pot over medium-high heat until shimmering. Pat the 1.5 lb bone-in chicken thighs dry with paper towels—this ensures maximum crispiness. Working in batches if needed, sear the chicken skin-side down for 4-5 minutes until golden brown and crispy. Flip and cook the other side for 3-4 minutes until the internal temperature reaches 160°F. Remove the chicken and set aside.
The crispy skin is essential for that signature Hainanese texture. Don't rush this step—you'll see the skin develop a beautiful golden crust that'll later infuse the rice with its rich flavor. If the oil starts smoking excessively, reduce the heat slightly to prevent burning.
👨🍳 Step 2: Build the Aromatic Base
In the same pot, add the 2 whole shallots and 6 cloves garlic cloves, cooking for 1-2 minutes until fragrant but not browned. Add the 2 tablespoons fresh ginger and cook for 30 seconds until the raw aroma disappears. Stir in the 2 whole pandan leaves (tied in a bundle) and the 1.5 teaspoons salt, allowing the spices to bloom for 1 minute. Pour in the 1 can coconut milk and bring to a gentle simmer.
This aromatic base forms the flavor foundation. The pandan leaves will infuse the rice with their signature floral note, while the ginger and garlic provide depth. Keep the heat at a gentle simmer—you want the coconut milk to heat through without curdling.
🥘 Step 3: Cook the Rice with Coconut Infusion
Add the 1.5 cups jasmine rice and stir gently to coat the grains with the coconut milk mixture. Pour in the 2 cups chicken broth and bring to a boil. Once boiling, reduce heat to low, cover tightly with a lid, and cook for 15 minutes without disturbing. After 15 minutes, stir the rice once to prevent sticking, then return to low heat for another 15 minutes. The rice should be tender but still slightly firm in the center.
This two-stage cooking method ensures even heat distribution. The first 15 minutes allow the rice to absorb the coconut flavor, while the second stage completes the cooking process. Avoid lifting the lid during this time—steam is crucial for fluffy rice.
🔥 Step 4: Create the Signature Coconut Curry Crust
Remove the lid and increase heat to medium-high. Stir in the 0.5 cup coconut cream, 0.25 cup shredded coconut, 0.5 teaspoon white pepper, and 1 tablespoon sugar. Cook for 3-4 minutes until the mixture thickens and forms a golden, crispy crust on the bottom of the pot. Return the chicken to the pot, spooning the coconut cream mixture over the top.
This is where the magic happens—the coconut cream caramelizes into a fragrant, slightly crispy layer that clings to every grain of rice. Watch closely as it transforms from a liquid to a glossy, golden coating. The sugar helps balance the richness while the white pepper adds subtle warmth.
⏰ Step 5: Rest and Serve with Lime Finish
Remove from heat and let the rice rest, covered, for 10 minutes. This allows the flavors to meld and the rice to absorb any remaining juices. Before serving, drizzle with the 0.5 cup lime juice and gently toss to brighten the flavors. Serve immediately with the chicken and its accompanying sauce spooned over the top.
The lime juice cuts through the richness of the coconut, creating that perfect balance of sweet, savory, and tangy. Each bite should deliver tender chicken, fragrant rice, and that signature crispy coconut crust. For extra authenticity, serve with chili sauce on the side for those who enjoy a bit of heat.
Pro Tips For Making 1 Pot Hainanese Chicken Rice
- CRISP THE THIGHS FIRST: Skip the "one-pot-only" myth—sear the bone-in thighs in a dry pot until golden before adding liquid. I learned this the hard way: raw chicken in coconut milk makes the broth cloudy, and you’ll lose that caramelized flavor that makes the rice taste richer. Two minutes per side, high heat, and you’re golden—literally.
- SLICE THE GINGER THIN: Forget the "grate it" advice. Thin, matchstick cuts of ginger (about 1/8-inch thick) infuse faster and don’t turn the broth into mush. Toss them in with the chicken early—they’ll soften but still pack a punch without overpowering the pandan. (Yes, even if you’re impatient like me.)
- DON’T SKIP THE RICE SOAK: Jasmine rice needs a 30-minute soak in warm water before cooking, or it’ll turn out gummy. I used to rush this, and the rice would either stick to the pot or taste undercooked. Trust me: the extra time guarantees fluffy, separate grains that soak up the coconut milk like a dream.
- STIR THE COCONUT MILK: Coconut milk separates when heated—stirring it vigorously every 2–3 minutes keeps it smooth. I was skeptical until I tried it: the broth stays creamy, not greasy, and the rice absorbs the flavor evenly. (Pro move: Use full-fat canned milk for that authentic richness.)
Perfect pairings for this dish
Classic Side Garnishes
No Hainanese chicken rice is complete without its signature sides. Serve with sliced cucumbers (peeled and chilled) to cut through the richness—their cool crunch contrasts beautifully with the warm rice. I like to add a pinch of salt and lime juice to the cucumbers just before serving. 🥒
For heat lovers, include chili sauce on the side—look for Sambal Oelek or a Hainanese chili sauce from Asian markets. A squeeze of lime wedges should also be on the table for guests to add brightness to their bowls. These sides are non-negotiable for that authentic Singaporean experience.
Drink Pairings
A lightly sweetened iced tea (like jasmine tea) is my go-to beverage pairing—its floral notes complement the pandan in the rice. For something more refreshing, try a coconut water to echo the dish's coconut flavors. The natural sweetness balances the savory-sour profile of the chicken rice. 🥤
If you prefer alcohol, a dry Riesling or Sauvignon Blanc works wonderfully. The wine's acidity cuts through the coconut's richness, while its citrus notes harmonize with the lime garnish. For non-alcoholic options, sparkling lime soda adds a fun, fizzy contrast.
Complementary Starters
Start the meal with sambal prawns or crispy fried shallots—both add a salty, umami kick that primes your palate. I often serve steamed dumplings (har gow) or spring rolls as a light prelude. These starters ensure your main dish shines without overwhelming it. 🍤
For a vegetarian option, pandan-infused cucumber salad mirrors the dish's flavors while adding freshness. Toss thin cucumber slices with lime juice, sugar, and chili flakes for a quick, vibrant side that guests will love. This keeps the meal cohesive and satisfying.
Nutrition facts
Frequently asked questions
Why does this recipe use bone-in chicken thighs instead of boneless?
The bones infuse the broth with deep, rich flavor that transforms into the fragrant rice base. Bone-in thighs also stay juicier during cooking. For boneless, use thighs with skin for crispiness, but expect slightly less flavor in the rice.
Can I make this without pandan leaves?
Yes! Use 1 teaspoon pandan extract or ½ teaspoon vanilla extract as a substitute. The floral aroma is key to authentic Hainanese flavor, but these alternatives work in a pinch. Fresh pandan leaves are ideal if available at Asian markets.
What if my coconut crust doesn't get crispy?
Check your heat level—it needs medium-high heat for proper caramelization. Use coconut cream (not milk) for thickness, and stir constantly during the last 3-4 minutes. If it's still soft, broil for 1-2 minutes under the oven's broiler.
How do I prevent the rice from getting mushy?
Don't lift the lid during cooking, and stir only once at the 15-minute mark. Use a tight-fitting lid to trap steam. If your rice is still firm but slightly undercooked after 30 minutes, add 2 tablespoons hot water, cover, and cook 5 more minutes.
Can I prep this ahead of time?
Cook the chicken and broth first, then refrigerate for up to 2 days. Reheat gently with 1 cup water, cover, and simmer on low heat for 10 minutes**. For the rice, cook it fresh—it doesn't reheat well. The crispy coconut crust is best made fresh too.
