Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 1/2 lb (680 g) boneless skinless chicken thighs, cut into strips
- 1 1/2 cups (285 g) jasmine rice + 2 1/4 cups (540 ml) water
- 1 cup (250 ml) full-fat coconut milk (canned)
- 1/2 cup (130 g) creamy peanut butter (unsweetened)
- 3 tbsp palm sugar or light brown sugar, packed (divided)
- 5 tbsp fish sauce (divided)
- 1 1/2 tbsp tamarind paste (concentrate)
- 2 tbsp soy sauce (divided)
- 3 tbsp fresh lime juice (divided), plus lime wedges
- 1 tbsp Thai red curry paste
- 2 cloves garlic, minced; 1 small shallot, minced; 2 tsp grated ginger
- 2 small Persian cucumbers, 1/4 small red onion, rice vinegar
- Neutral oil, salt, red pepper flakes (optional), fresh cilantro for garnish
- 8–10 wooden skewers, soaked
Do This
- 1. Slice cucumbers and red onion. Toss with 2 tbsp rice vinegar, 1 tsp sugar, 1 tbsp water, and 1/4 tsp salt. Chill.
- 2. Marinate chicken with 2 tbsp soy sauce, 1 tbsp fish sauce, 1 tbsp oil, 2 tsp sugar, ginger, and 1 minced garlic clove for 20–30 minutes. Soak skewers in water.
- 3. Rinse jasmine rice until water runs mostly clear. Cook with 2 1/4 cups water and a pinch of salt: bring to a boil, cover, simmer 15 minutes, then rest 10 minutes.
- 4. For the sauce, gently sauté shallot and 1 minced garlic clove in 1 tbsp oil. Stir in coconut milk, peanut butter, 2 tbsp palm sugar, 4 tbsp fish sauce, tamarind, lime juice, and red curry paste. Thin with water until pourable; keep warm.
- 5. Thread marinated chicken onto skewers. Grill or pan-cook over medium-high heat 8–10 minutes, turning, until nicely charred and cooked through to 165°F (74°C).
- 6. Rewarm sauce if needed, adjusting thickness with water and seasoning with more lime or fish sauce to taste.
- 7. Serve chicken skewers over steamed jasmine rice with warm peanut-satay sauce drizzled generously on top and quick pickled cucumbers on the side. Garnish with cilantro and lime wedges.
Why You’ll Love This Recipe
- Rich, creamy peanut and coconut sauce with bright lime and tamarind for perfect sweet-salty-tangy balance.
- Complete meal on one plate: juicy chicken skewers, fluffy jasmine rice, and crisp, refreshing pickled cucumbers.
- Most of the work is simple stirring and chopping; the sauce comes together in one saucepan.
- Great for weeknights or casual entertaining: you can prep most parts ahead and warm the sauce right before serving.
Grocery List
- Produce: 2 small Persian cucumbers (or 1/2 English cucumber), 1/4 small red onion, 2 limes, 2 cloves garlic, 1 small shallot, small piece of fresh ginger, fresh cilantro (for garnish).
- Dairy: None (coconut milk based and dairy-free).
- Pantry: Jasmine rice, creamy peanut butter, canned full-fat coconut milk, fish sauce, soy sauce, tamarind paste (concentrate), palm sugar or light brown sugar, rice vinegar, Thai red curry paste, neutral oil (such as canola, grapeseed, or sunflower), salt, red pepper flakes (optional), wooden skewers.
Full Ingredients
Thai Peanut-Satay Sauce
- 1 tbsp neutral oil (canola, grapeseed, or sunflower)
- 1 small shallot, very finely minced
- 1 clove garlic, minced
- 1 cup (250 ml) full-fat coconut milk (canned, shaken well)
- 1/2 cup (130 g) creamy peanut butter (unsweetened if possible)
- 2 tbsp palm sugar or light brown sugar, packed
- 4 tbsp fish sauce
- 1 1/2 tbsp tamarind paste (tamarind concentrate)
- 2 tbsp fresh lime juice (plus more to taste)
- 1 tbsp Thai red curry paste (reduce to 2 tsp for milder sauce)
- 1/4–1/3 cup (60–80 ml) water, as needed to thin
Chicken Skewers
- 1 1/2 lb (680 g) boneless skinless chicken thighs, trimmed and cut into 1-inch-wide strips or bite-size pieces
- 8–10 wooden skewers (8–10 inch), soaked in water for at least 20 minutes
Chicken Marinade
- 2 tbsp soy sauce
- 1 tbsp fish sauce
- 1 tbsp neutral oil
- 2 tsp palm sugar or light brown sugar
- 1 clove garlic, minced
- 2 tsp finely grated fresh ginger
- 1/2 tsp ground coriander (optional but delicious)
- 1/2 tsp ground turmeric or mild curry powder (optional, for color and warmth)
Quick Pickled Cucumbers
- 2 small Persian cucumbers (or 1/2 large English cucumber), thinly sliced into rounds or half-moons
- 1/4 small red onion, very thinly sliced
- 2 tbsp rice vinegar
- 1 tbsp water
- 1 tsp sugar
- 1/4 tsp fine salt
- Pinch red pepper flakes or a few thin slices of fresh chili (optional)
Steamed Jasmine Rice
- 1 1/2 cups (285 g) jasmine rice
- 2 1/4 cups (540 ml) water
- 1/4 tsp salt
To Serve
- Fresh cilantro leaves, roughly chopped
- Lime wedges
- Crushed roasted peanuts (optional, for garnish)

Step-by-Step Instructions
Step 1: Prep Your Ingredients and Equipment
Read through the recipe once so you know what is coming. Place your wooden skewers in a shallow dish of water to soak for at least 20 minutes; this prevents them from burning if you grill or broil the chicken. Trim excess fat from the chicken thighs and cut them into 1-inch-wide strips or bite-size chunks.
Rinse the jasmine rice under cold running water in a fine-mesh sieve, swishing with your hand, until the water runs mostly clear. Let it drain while you prepare the other components. Finely mince the shallot and garlic for the sauce, and grate the ginger for the marinade. Slice the cucumbers and red onion for the quick pickles.
Step 2: Make the Quick Pickled Cucumbers
In a medium bowl, whisk together the rice vinegar, water, sugar, salt, and red pepper flakes (if using) until the sugar and salt dissolve. Add the sliced cucumbers and red onion, tossing to coat everything evenly in the brine.
Press the vegetables down so they are mostly submerged. Set aside at room temperature while you cook, or refrigerate if making ahead. They will start tasting pickled after about 10 minutes and get even better as they sit. Stir occasionally to keep everything evenly coated.
Step 3: Marinate the Chicken
In a large bowl, combine the soy sauce, fish sauce, neutral oil, palm or brown sugar, minced garlic, grated ginger, ground coriander, and turmeric or curry powder (if using). Whisk until the sugar mostly dissolves.
Add the chicken pieces to the bowl and toss very well so every piece is evenly coated. Cover and marinate at room temperature for 20–30 minutes while you cook the rice and start the sauce. If marinating longer than 30 minutes, keep the chicken in the refrigerator.
Step 4: Cook the Jasmine Rice
In a saucepan with a tight-fitting lid, combine the rinsed jasmine rice, water, and salt. Bring to a gentle boil over medium-high heat. As soon as it boils, give it a quick stir, reduce the heat to low, cover with the lid, and simmer for 15 minutes without lifting the lid.
After 15 minutes, turn off the heat but keep the lid on. Let the rice rest and steam for another 10 minutes. Just before serving, fluff it gently with a fork to separate the grains.
Step 5: Make the Thai Peanut-Satay Sauce
While the rice cooks and the chicken marinates, make the sauce. In a medium saucepan, heat the neutral oil over medium heat. Add the minced shallot and cook for 2–3 minutes, stirring, until softened and fragrant but not browned. Add the minced garlic and cook for another 30 seconds.
Lower the heat to medium-low. Add the coconut milk, peanut butter, palm or brown sugar, fish sauce, tamarind paste, lime juice, and Thai red curry paste. Whisk continuously until the peanut butter melts and the mixture becomes smooth and creamy, 3–5 minutes. If it is very thick, whisk in 1/4 cup water, adding a little more as needed until you have a thick but pourable sauce that ribbons off a spoon.
Taste and adjust: add more lime juice for brightness, a splash of fish sauce for saltiness and depth, or a pinch more sugar if you prefer it sweeter. Turn the heat to the lowest setting to keep the sauce warm, stirring occasionally. Do not let it boil hard or it may split; gentle heat is best.
Step 6: Cook the Chicken Skewers
Preheat a grill, grill pan, or large skillet over medium-high heat. Lightly oil the grates or pan. Thread the marinated chicken onto the soaked skewers, leaving a little space between pieces so they cook evenly.
Cook the skewers for about 8–10 minutes total, turning every 2–3 minutes, until the outside is nicely browned with a few charred spots and the internal temperature reaches 165°F (74°C). If using a grill pan or skillet, you may need to cook in batches to avoid overcrowding. Transfer cooked skewers to a plate and let them rest for a few minutes.
Step 7: Warm the Sauce and Serve Everything Together
Give the peanut-satay sauce a final stir. If it has thickened too much as it sat, whisk in a splash of hot water until it is smooth and pourable again. Taste once more and adjust the seasoning with extra lime juice, fish sauce, or sugar if needed.
To serve, spoon a bed of fluffy jasmine rice onto each plate. Add 2–3 chicken skewers per person. Generously drizzle warm peanut-satay sauce over the chicken and a little over the rice. Add a pile of quick pickled cucumbers on the side for contrast. Garnish with chopped fresh cilantro, crushed roasted peanuts if using, and lime wedges for squeezing at the table.
Pro Tips
- Control the sauce thickness: Satay sauce thickens as it cools and as the peanut butter absorbs liquid. Always finish by adjusting with hot water, a tablespoon at a time, until it is creamy and spoonable.
- Do not boil the sauce hard: Keep the heat gentle. A simmer is fine, but a vigorous boil can cause the coconut milk to separate and the sauce to look oily.
- Use thighs for juiciness: Chicken thighs are more forgiving than breasts and stay tender and juicy, even if cooked a minute or two longer.
- Taste and balance at the end: The hallmark of Thai flavors is balance. Before serving, check: you should taste peanut richness, coconut creaminess, bright lime, tamarind tang, gentle heat, and a savory finish from fish sauce.
- Soak wooden skewers well: At least 20–30 minutes in water helps prevent them from burning, especially on a grill or under a broiler.
Variations
- Vegetarian version: Swap the chicken for extra-firm tofu cubes or tempeh. Marinate as written (use soy sauce instead of fish sauce in the marinade) and grill or pan-sear. In the sauce, replace fish sauce with soy sauce and a splash of rice vinegar.
- Extra spicy: Add 1–2 tsp chili-garlic sauce or a pinch of cayenne to the peanut-satay sauce, and include sliced fresh chilies in the cucumber pickles.
- Low-carb option: Serve the skewers and sauce over steamed or stir-fried vegetables (such as cabbage, bell peppers, and green beans) or cauliflower rice instead of jasmine rice.
Storage & Make-Ahead
The peanut-satay sauce keeps very well. Let it cool completely, then store in an airtight container in the refrigerator for up to 5 days. It will thicken in the fridge; reheat gently on the stovetop or in the microwave with a splash of water, whisking until smooth. You can also freeze the sauce for up to 2 months; thaw overnight in the refrigerator before reheating.
The marinated raw chicken can be stored in the refrigerator for up to 24 hours. Cooked chicken skewers will keep in an airtight container in the refrigerator for up to 3 days; reheat gently in a covered skillet or in the oven at 325°F (165°C) until warmed through.
The quick pickled cucumbers are best within 2 days while still crisp, though they are safe to eat for up to 4 days when refrigerated in their brine. Cooked jasmine rice keeps in the refrigerator for up to 3 days; sprinkle with a little water and reheat covered in the microwave.
Nutrition (per serving)
Approximate values for 1 serving (1/4 of the recipe: chicken, sauce, rice, and pickles): about 730 calories; 35 g protein; 36 g fat; 60 g carbohydrates; 3–4 g fiber; 13 g sugar. Sodium will be on the higher side due to fish sauce and soy sauce (approximately 1,400–1,600 mg), so adjust added salt and sauces to taste if you are watching your sodium intake.
