1 Pot Hainanese Chicken Rice Recipe: Fragrant Coconut-Ginger Broth Magic

Main Courses

1 Pot Hainanese Chicken Rice Recipe: Fragrant Coconut-Ginger Broth Magic

This one-pot Hainanese chicken rice recipe delivers the fragrant, comforting flavors of Singaporean street food in a single pot—no fuss, no mess, just restaurant-quality results. 🌟 The secret lies in a delicate balance of coconut milk, fresh ginger, and aromatic spices that transform simple ingredients into a deeply satisfying meal. Hainanese cuisine is all about tender chicken, fragrant rice, and a broth so flavorful it makes every bite unforgettable.

The beauty of this recipe is its simplicity: one pot handles everything—poaching the chicken, cooking the rice, and infusing the broth with layers of coconut-ginger aroma. No need for multiple pans or complicated techniques; just follow the steps, and you'll achieve that signature tender chicken, fluffy rice, and rich, savory broth that defines this iconic dish. The key is patience—letting the flavors meld slowly for maximum depth.

What you'll end up with is a steaming bowl of Hainanese chicken rice that's crispy-skinned, juicy, and perfectly seasoned, served over fragrant rice that's infused with the same aromatic broth. The garnishes—sliced ginger, lime wedges, and chili oil—add the final touches that make this dish truly special. This is comfort food at its finest, brought together in a way that's both impressive and effortless.

Perfect for a family dinner or a special occasion, this recipe serves four and comes together in about an hour—well worth the wait. The best part? Leftovers taste even better the next day as the flavors continue to develop. Let's get cooking!

👨‍🍳
Difficulty
Medium
🍗
Diet
Poultry
🔥
Calories
Med Cal

Ingredients for 1 pot hainanese chicken rice

This one-pot recipe transforms simple pantry staples into fragrant, restaurant-quality Hainanese chicken rice.

Ingredient Amount Notes
Boneless Chicken Thighs 🍗 1 ½ lb Skin-on preferred for crispiness
Jasmine Rice 🍚 1 ½ cups Uncooked, long-grain preferred
Full-Fat Coconut Milk 🥥 13 ½ oz Canned, no additives
Fresh Ginger 🧄 3 tbsp Grated, aromatic variety
Garlic Cloves 🧄 6 cloves Minced, fresh preferred
Chicken Stock 💧 2 cups Homemade or quality store-bought
Lemongrass 🌿 2 tbsp Finely chopped, outer leaves removed
Cayenne Pepper 🔥 ¼ tsp Adjust for heat preference
Ground White Pepper 🌶️ ½ tsp Freshly ground preferred
Salt 🧂 1 ½ tsp Kosher or sea salt
Vegetable Oil 🫒 2 tbsp High smoke point preferred
Lime Wedges 🍋 2 whole For garnish, freshly squeezed
Chili Oil 🌶️ 2 tbsp Store-bought or homemade
Fresh Cilantro 🌿 ¼ cup Chopped, for garnish

The coconut milk is non-negotiable here—full-fat canned gives that signature creamy richness. Thai Kitchen or Aroy-D are solid brands, but check for no additives. Fresh ginger and lemongrass are the aromatic backbone, so don't skimp. I always grab organic ginger from the produce section—it's brighter and more fragrant. For the chicken, thighs stay juicier than breasts during the long simmer. If you can't find jasmine rice, basmati works in a pinch, though the texture won't be identical.

No lemongrass? Substitute 1 tbsp lime zest plus 1 tsp lime juice—it won't be the same, but close. Out of cayenne? Red pepper flakes at half the amount works, though the heat profile changes. The chicken stock can be bouillon cubes in a bind (just dissolve in hot water), but homemade is worth it. For extra depth, toast the lemongrass and garlic in the oil first—2 minutes until fragrant. That step makes all the difference. The chili oil can be store-bought (I like Lao Gan Ma), but homemade with chili paste and oil is even better.

This dish gets better with time—30 minutes of simmering lets the flavors meld perfectly. Store leftovers in the fridge for up to 4 days, but reheat gently to avoid drying out the rice. I portion mine into containers with a little broth to keep everything moist. The broth freezes beautifully too—just reheat without the chicken and rice. For serving, always include fresh lime wedges and chili oil—they're essential for that authentic street food experience.

❤️

Why You'll Love This Recipe

  • One-Pot Magic: I swear by this—no rice cooker, no extra pots, just one pan where everything happens. The chicken simmers in the same coconut milk that later turns the rice into a fragrant, sticky dream.
  • Garlic-Ginger Bomb: That first whiff of fried garlic and ginger hitting the pot? Instant mood booster. The chicken ends up with this crispy, aromatic crust while the rice soaks up all the fragrant oil—like a flavor explosion in every bite.
  • Lunchbox Hero: Between us, this is my go-to for meal prep. The rice stays fluffy for days, and the chicken? Even better reheated. Pack it for work or school—no sad, dry leftovers here.
  • Budget Win: Chicken thighs are cheap, coconut milk stretches far, and a single pot means minimal waste. Honestly, I make this twice a month and still feel like I’m treating myself to a restaurant dish.

Step-by-step instructions for fragrant coconut-ginger chicken rice

Here's how to build rich, aromatic broth and tender chicken in one pot.

1

🍳 Step 1: Sear the Chicken for Maximum Flavor

Heat the 2 tablespoons vegetable oil in a large heavy pot over medium-high heat until shimmering. Add the 1.5 lb boneless chicken thighs, skin-side down if skin-on, and sear for 4-5 minutes until golden brown on both sides. This step develops deep flavor through the Maillard reaction.

Resist the urge to crowd the pan—work in batches if needed. Once browned, remove the chicken and set aside. You'll notice the oil will be rich with chicken fat, which we'll use to build our aromatic base. Don't wipe out the pot; those browned bits are pure flavor.

2

👨‍🍳 Step 2: Build the Aromatic Base

In the same pot, add the 3 tablespoons grated fresh ginger and 6 minced garlic cloves. Sauté for 30 seconds until fragrant—you should smell that bright, zesty aroma. Add the 2 tablespoons finely chopped lemongrass and cook for another 30 seconds until the raw garlic smell disappears.

Here's where the magic happens: Pour in the 13.5 oz full-fat coconut milk and 2 cups chicken stock. Stir well to combine, then sprinkle in the 1.5 teaspoons salt, 0.5 teaspoon ground white pepper, and 0.25 teaspoon cayenne pepper. The coconut milk will immediately start to simmer gently—this is when the flavors meld together.

3

🥘 Step 3: Cook the Rice in Flavorful Broth

Return the seared chicken to the pot, along with the 1.5 cups jasmine rice. Bring the mixture to a gentle boil, then reduce heat to low and cover tightly with a lid. Let it simmer for 15 minutes without disturbing it—this allows the rice to absorb the coconut milk and stock evenly.

After 15 minutes, check the rice. It should be tender but still slightly firm in the center. If it's not quite done, cover and cook for another 5 minutes. The rice should absorb all the liquid, leaving just a thin layer of broth on top—this is perfect for serving. If there's excess liquid, uncover and simmer for 2-3 minutes to evaporate it.

4

⏰ Step 4: Rest and Garnish for Perfect Texture

Once the rice is tender, turn off the heat and let the pot sit covered for 10 minutes. This resting period allows the rice to finish steaming and the chicken to absorb any remaining juices. Don't skip this step—it makes a world of difference in texture.

After resting, fluff the rice gently with a fork. Stir in the 2 tablespoons chili oil and squeeze in the juice from the 2 lime wedges. Garnish with the 0.25 cup chopped fresh cilantro. The lime adds a bright finish that cuts through the richness of the coconut, while the cilantro adds freshness. Serve immediately with the lime wedges on the side for squeezing.

👨‍🍳

Pro Tips For Making 1 Pot Hainanese Chicken Rice

  • CRISP THE THIGHS FIRST: Don’t skip browning the chicken thighs—sear them skin-side down in a dry pot for 4-5 minutes until golden. I learned this the hard way: skipping this step means your coconut milk will turn murky instead of velvety, and the rice absorbs that flavor like a sponge. Use medium-high heat and resist the urge to move them around too much.
  • GINGER-GARLIC PASTE MATTERS: Blend your ginger and garlic into a smooth paste instead of chopping them—this ensures even distribution and prevents bitter chunks in your rice. I was skeptical until I tried it: the paste dissolves completely into the coconut milk, giving every grain that signature aromatic punch without any surprises.
  • DON’T BOIL THE RICE: Once the chicken and coconut milk are simmering, add the rice and just enough water to cover it—then turn the heat to lowest possible. Watch the heat, or you’ll end up with mushy rice and curdled coconut milk. My grandmother swore by this: "Slow and steady wins the race," and she was right about the rice too.
  • RESERVE THAT COCONUT MILK: After cooking the rice, strain the broth through a fine-mesh sieve into a bowl—discard the chicken and any solids. Use the strained milk to rinse the cooked rice lightly before serving. Sounds weird, but it works: this step removes excess starch, making each bite of rice separate and perfectly tender, not gluey.

Troubleshooting great 1 pot hainanese chicken rice

Broth Too Thin?

If your broth seems too watery after cooking, reduce the heat to low and uncover the pot. Let it simmer uncovered for 5-10 minutes—this evaporates excess liquid while concentrating the flavors. I’ve found that using full-fat coconut milk (like Thai Kitchen) naturally thickens the broth as it cooks, so this step is usually a quick fix. 💫

Chicken Overcooked?

Hainanese chicken rice relies on tender, juicy chicken. If yours turns out dry, check your cooking time—it should reach an internal temp of 165°F but not exceed 175°F. For extra insurance, poach the chicken separately in the broth for 10 minutes before adding rice, then finish together. I also recommend using bone-in thighs if possible—they stay juicier during long cooking.

Rice Mushy or Undercooked?

Jasmine rice needs precise timing. If it’s mushy, you likely added too much liquid. For future attempts, use 1.5 cups rice to 2.5 cups liquid (coconut milk + stock). If it’s undercooked, cover and cook 5 more minutes on low heat. Pro tip: Rinse your rice 2-3 times before cooking to remove excess starch, which prevents gumminess. 🍚

Lacking Aroma?

The signature coconut-ginger scent comes from proper aromatics. Toast your ginger, garlic, and lemongrass in oil for 2-3 minutes until fragrant—this step is non-negotiable. If your dish tastes flat, try adding 1 tsp toasted lemongrass powder or a pinch of MSG (optional) to amplify umami. Fresh ingredients make all the difference here!

Chili Oil Separating?

Store-bought chili oil sometimes separates when heated. To fix it, whisk the oil vigorously before adding it to the pot, or heat it separately over low heat for 1 minute to re-emulsify. For homemade chili oil, ensure your chili paste and oil ratio is 1:3**—any more paste can make it too thick. Stir it into the rice just before serving to maintain texture. 🌶️

Nutrition facts

Servings 4
Amount Per Serving
Calories 580kcal
% Daily Value *
Total Fat 32g41%
Saturated Fat 22g110%
Cholesterol 185mg62%
Sodium 1250mg54%
Total Carbohydrate 52g18%
Dietary Fiber 3g11%
Sugars 4g
Protein 38g76%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

Can I use chicken breasts instead of thighs?

Chicken breasts will work, but thighs stay juicier during the long simmer. If using breasts, cut them into 1-inch pieces and cook them for only 10 minutes after adding the rice to prevent drying. For best results, use bone-in thighs—they stay moist and flavorful.

2

How do I make this dish vegetarian?

Swap the chicken for tofu or mushrooms (like shiitake or oyster). Press tofu to remove excess water, then marinate in soy sauce, garlic, and ginger for 30 minutes before cooking. Use vegetable stock instead of chicken stock, and add 1 tsp soy sauce to the rice for umami. The coconut-ginger broth will still shine!

3

Why does my rice turn out sticky or mushy?

Overcooking or too much liquid causes this. Rinse your rice 2-3 times before cooking to remove starch, and use a 1.5:2.5 rice-to-liquid ratio (rice to coconut milk + stock). If it’s still sticky, uncover and simmer 2-3 minutes to evaporate extra moisture. Undercooked rice? Cover and cook 5 more minutes on low heat.

4

Can I make this in an Instant Pot?

Yes! Sear the chicken first, then add all ingredients except rice. Pressure cook for 8 minutes, then quick-release. Stir in rice and cook another 5 minutes on high pressure. Let it rest 10 minutes before opening. The Instant Pot locks in flavors but may need slightly less liquid. Adjust to taste!

5

What’s the secret to restaurant-quality flavor?

Toast your ginger, garlic, and lemongrass in oil until fragrant (2-3 minutes), use full-fat coconut milk, and let the broth simmer 30 minutes before adding rice. A pinch of MSG (optional) or toasted lemongrass powder boosts umami. Patience is key—let flavors meld slowly!

★★★★★4.6(9 reviews)
Categories Main Courses