Kao mok gai is the Thai version of chicken biryani. Though there are a lot of ingredients and steps here, if you split the work and marinade the chicken and/or fry the shallots a day in advance, the rest is really straight forward, and the result is well worth the time! And after making this a couple of times, you’ll be a pro and it won’t feel like too much work.

If you want to make this recipe again in the future, I highly suggest making a big batch of the spice blend and keep it in your pantry, it’ll help shorten the process significantly next time.


  • Kao Mok Gai Spice Blend
    • 1-½ teaspoon coriander seeds
    • ½ teaspoon cumin seeds
    • 1 bay leaf
    • 1-½ inch cinnamon stick
    • 4 cloves
    • 6 black peppercorns
    • 10 white peppercorns
    • 1 pod white or green cardamom
    • ½ teaspoon turmeric powder
    • teaspoon ground nutmeg
  • Marinated Chicken
    • 2 cilantro roots, or 6-8 cilantro stems
    • 4 cloves garlic
    • 1 large head shallot
    • 7– 8 slices ginger
    • 1 recipe kao mok gai spice blend
    • 1 teaspoon salt
    • 1 tablespoon sugar
    • cup plain yogurt, (or use whole milk with 1 Tbsp lime juice)
    • 3– 4 pieces dark meat chicken, bone-in, skin-on, (I usually serve 1 piece of thigh or 2 pieces of drumsticks per person)
  • The rest
    • 2 large head shallots, (for fried shallots, see note)
    • Canola oil, as needed
    • 1 cup jasmine rice, uncooked, rinsed until water runs clear, drained well (see note)
    • 1 scant cup unsalted chicken stock
    • 1 pinch saffron
    • Cucumber and tomato slices for serving
  • Cilantro-Mint Dipping Sauce
    • 1 cup cilantro leaves and stems
    • 1 cup mint leaves
    • 4 slices ginger
    • 2 cloves garlic
    • 1– 3 Thai chilies, to taste
    • ¼ cup white vinegar
    • 2 tablespoons sugar
    • ¼ teaspoon salt


1. Make the spice blend: Toast the cumin seeds in a dry saute pan until they darken slightly and are aromatic. Place into a spice/coffee grinder. Add remaining whole spices to the same pan and toast until aromatic and the coriander seeds darken slightly.  Add the toasted spices to the grinder, along with the powdered turmeric and nutmeg. Grind into a fine powder.
2. Make the marinated chicken: In a heavy-duty mortar and pestle or food processor, pound cilantro stems or roots, garlic, shallots, and ginger into a rough paste. Add the spice blend, salt, sugar and grind into a paste. Add yogurt and stir to mix.

If using drumsticks, make a couple of shallow scores to help the marinade penetrate better. Pour the marinade over chicken and toss to coat. Let marinate in the fridge for at least 2 hours, better a day in advance.
3. Make saffron infused chicken stock: Crush the saffron strands in a mortar and pestle just until they become small pieces. Heat chicken stock until quite warm, then stir in the crushed saffron and let it sit to draw out the colour until ready to use.
4. Make the fried shallots: Thinly slice shallots (make them as even as you can) and lay them in a single layer on a paper-towel-lined plate. Sprinkle salt over the shallots and let them sit for at least 10 minutes. You will notice that a lot of liquid has been drawn out from the shallots by the salt. Use paper towel and dab the shallots dry.

Place the shallot in a small pot or a wok. Add just enough oil to cover, then turn the heat to medium high and wait until bubbles start going. Once the shallots are bubbling, turn the heat down to low, and keep them frying on LOW heat, stirring frequently, until the bubbling is almost completely gone and the shallots are a deep golden brown. Remove them from the oil with a mesh skimmer and drain on paper towel; save the oil! Let cook completely and store in an airtight container.
5. Sear the chicken: In a wok (the same one you used to fry the shallots is fine) or a saute pan. Add just enough of the shallot oil to cover the bottom and heat the oil on medium high heat until hot. Scrape off as much of the marinade from the chicken as you can, saving the marinade, and place the chicken in the hot oil, skin side down first, and sear until the skin has browned. Control the heat to make sure any marinade that made it to the wok doesn’t burn (browned is fine, browned is good, but burnt is not!). Once browned, flip and sear the other side; we’re not trying to cook the chicken right now, we’re just getting some colour on it. Remove chicken from the wok and set aside; don’t clean the wok!
6. Sauté the rice: Add the rinsed rice to the same wok you seared the chicken in along with all of the chicken marinade. Sauté the rice over medium high heat for a few minutes until the marinade has dried up and the rice is well coated. Remove the rice from the wok and place into a heavy bottomed pot.
7. Cook the rice and chicken together: Add the saffron-infused chicken stock into the rice pot. Sprinkle a handful of fried shallots over the rice, then place the chicken on top of the rice. Cover and cook over low heat (gentle bubbling) for 20-25 minutes or until the chicken is done.
8. Meanwhile, make the dipping sauce: Combine all ingredients in a blender and blend! (Yes, this is the easy part of the recipe!)
9. Fluff  the rice: Once the chicken is done, remove the chicken and keep it covered in foil. At this point the rice should be pretty much fully cooked but it might still look a bit wet. Fluff the rice, cover the pot and let the rice steam on LOW heat for another 8-10 minutes to absorb all the residual moisture in the pot. If you’re using a cast iron pot like I did, you can turn the heat off completely because the pot retains heat so well.

Note: In my experience there is always a layer of rice that will brown and stick to the bottom of the pot (unless you’re using non-stick), this is normal, don’t worry about it. BUT this is why it’s important to keep the heat LOW so you don’t burn this stuck-on rice and get a burnt flavour into your rice! If after removing the chicken you find that the rice is undercooked, you can add more more water and let it cook longer.
10. Finally, assemble! : Serve the chicken and rice with the dipping sauce, a side of cucumber and tomatoes. Sprinkle the rice with extra fried shallots.


Do ahead tips: Marinade the chicken 1 day in advance. You can also fry the shallots a few days in advance and store in an airtight container. The dipping sauce can also be made in advance and kept in the fridge up to 1 week (the colour will darken due to oxidation of the herbs, but it’s totally fine to eat).
Jasmine rice tastes best IMO, but it’s also a bit tricky to work with in this recipe as it is quite starchy and soft, and it can mush easily if you’re not careful. Make sure you wash the rice super-duper well until the water runs clear, drain it really well and don’t add too much liquid (remember the chicken will release a bunch of liquid as it cooks, too). You can also use other types of long grain white rice if you wish.
Dipping Sauce: This makes enough dipping sauce for double the recipe or 6 servings, but I find that making any less than this and it’s hard to blend it in the blender. If you have a blender that works well with small amount of stuff, feel free to make only half recipe.


Pailin Chongchitnant


3 servings




Asian : South East Asian : Thai