I have been making chicken satay for years — at dinner parties, for weeknight meals, as a starter before a big Asian spread — and every single time the plate is empty before I even sit down. That is the magic of a good satay. The chicken is golden, slightly charred at the edges, tender and juicy all the way through, and then you dip it into that creamy, rich, nutty peanut sauce and the whole thing just clicks. This recipe covers both the marinade and the peanut sauce completely from scratch, and while it looks like a lot of steps on paper, the hands-on time is genuinely short. Most of the work is done by your fridge while the chicken marinates. If you have ever ordered chicken satay at a Thai restaurant and thought you could never replicate that at home, this recipe is going to prove you completely wrong.

Ingredients with Exact Amounts

This recipe serves 4 people as a main course with rice, or 6 to 8 people as an appetizer. All the ingredients are split into two parts: the chicken marinade and the peanut sauce.

For the Chicken Marinade

1.5 lbs (700g) boneless, skinless chicken thighs — Chicken thighs are the right cut for satay and I will not budge on this. They have more fat than chicken breasts, which means they stay juicy and tender even when cooked over high heat, and they can handle a longer marinade time without drying out or turning rubbery. If you only have chicken breasts, they will work, but watch the cooking time carefully because breasts dry out quickly if overcooked.

½ cup full-fat coconut milk — Coconut milk does two things in the marinade. First, it carries the spices and distributes them evenly over every piece of chicken. Second, the natural enzymes and fat in coconut milk begin to tenderize the meat during the marinating period, which is why chicken satay comes out so incredibly soft and juicy compared to chicken that has been marinated in a simple oil and acid mixture. Always use full-fat coconut milk, not the lite version — the lite version is mostly water and you lose all of that richness and tenderizing power.

2 tablespoons soy sauce — This adds saltiness and savory depth to the marinade. It also helps with browning and caramelization when the chicken hits the hot grill or pan, giving you that beautiful golden-brown color. Use a regular soy sauce like Kikkoman. If you are cooking gluten-free, swap it for tamari.

1 tablespoon fish sauce — Fish sauce is the umami backbone of Thai cooking and it works the same way here. It adds a deep, savory, slightly funky saltiness that you cannot replicate with soy sauce alone. Do not be put off by how it smells in the bottle — once it is cooked, it mellows completely and just gives everything a richness and depth that makes people ask what your secret ingredient is. If you absolutely cannot find it, use an extra tablespoon of soy sauce, but try to get the fish sauce — it makes a real difference.

1 tablespoon yellow curry powder — This is what gives chicken satay its signature golden color and warm, earthy spice. Use Indian or Madras curry powder if you can find it, as it has a slightly more complex flavor than standard supermarket curry powder. The spices in curry powder — turmeric, coriander, cumin, and fenugreek — all work together to give the marinade that unmistakable satay character.

1 teaspoon ground turmeric — In addition to the turmeric already in the curry powder, an extra teaspoon of turmeric deepens the golden color of the chicken and adds a slightly earthy, bitter warmth that is distinctly Southeast Asian. Turmeric stains everything it touches, so use a bowl you do not mind staining or line it with plastic wrap.

1 tablespoon brown sugar — A little sweetness in the marinade does two things: it balances the salty fish sauce and soy sauce, and it promotes caramelization on the surface of the chicken when it hits the heat. Brown sugar works better here than white sugar because the molasses notes add a slight depth of flavor.

3 cloves garlic, finely minced — Fresh garlic is non-negotiable here. Garlic powder will not give you the same punch. Mince it as finely as you can so it distributes evenly through the marinade and coats every piece of chicken.

1 teaspoon fresh ginger, finely grated — Ginger adds a warm, slightly sharp flavor that cuts through the richness of the coconut milk and rounds out the marinade beautifully. Use a microplane or the fine side of a box grater to grate it — you want it almost paste-like so it distributes into the marinade rather than sitting in chunks.

For the Peanut Sauce

½ cup natural peanut butter — Use natural peanut butter made with just peanuts, with no added sugar or oil. The peanut flavor is significantly stronger and more pronounced than commercial peanut butter spreads, and because it is thinner in consistency, you need less liquid to thin the sauce, which means you get a more intensely peanut-flavored result. If you can only find commercial peanut butter like Jif or Skippy, it will work, but the sauce will be slightly sweeter and less deeply nutty.

½ cup full-fat coconut milk — The coconut milk forms the liquid base of the peanut sauce and gives it a creamy, slightly sweet richness that balances the savory peanut butter. Stir the can well before using because the fat and liquid can separate.

1 tablespoon Thai red curry paste — This is the secret weapon in the peanut sauce. You are not using it to make the sauce taste like red curry — you are using it as a flavor enhancer that adds aromatic depth, a gentle heat, and a complexity that you simply cannot get from powdered spices alone. Maesri and Mae Ploy are the best brands to use. You will find them at any Asian grocery store and increasingly in large supermarkets.

2 tablespoons soy sauce — Adds saltiness and savory depth to balance the sweetness of the coconut milk and peanut butter.

1 tablespoon brown sugar — Adds a touch of sweetness to round out the sauce. Taste and adjust at the end.

1 tablespoon fresh lime juice — The acid from the lime cuts through the richness of the peanut butter and coconut milk and keeps the sauce from tasting heavy or one-dimensional. Always use fresh lime, not bottled lime juice.

2 to 4 tablespoons warm water — Used to thin the sauce to the right consistency for dipping. Add it gradually at the end until you get a sauce that coats a spoon but still flows easily.

For Skewering and Serving

12 to 16 bamboo skewers, soaked in water for at least 30 minutes before use. Chopped roasted peanuts, fresh cilantro, lime wedges, and sliced cucumber for garnish and serving alongside.

Step by Step Recipe Method

Step 1: Soak the Bamboo Skewers

This step needs to happen first because the skewers need at least 30 minutes in water — ideally longer. Place your bamboo or wooden skewers in a large baking dish or deep tray and cover them completely with cold water. If you can, put something heavy on top of them to keep them submerged, because they float. Soaking prevents the skewers from burning and charring on the grill or in the pan. Dry, unsoaked skewers will catch fire or char quickly under high heat, and you will end up with snapped skewers and chicken on the floor. Soaking them for an hour is even better if you have the time.

Step 2: Prepare and Cut the Chicken

Trim any excess fat from your chicken thighs — you want to leave some fat because it adds flavor and moisture, but remove any large chunks that will not cook through properly. Cut each thigh lengthwise into strips about 1 inch wide and 4 to 5 inches long. You want long, thin strips rather than cubes, because they lay flat against the skewer, cook more evenly, and have more surface area for the marinade to penetrate and for caramelization to happen during cooking. If the strips are very thick, give them a gentle pound with the flat side of a knife or a meat mallet to even them out slightly.

Step 3: Make the Marinade

In a large bowl, combine the coconut milk, soy sauce, fish sauce, yellow curry powder, ground turmeric, brown sugar, minced garlic, and grated ginger. Whisk everything together until the sugar has dissolved and all the spices are evenly distributed. The marinade will be a deep golden-orange color from the turmeric and curry powder, and it should smell fragrant and complex — slightly sweet, savory, with warmth from the spices. Taste it at this point. It should taste well-seasoned and slightly salty, with a good balance of sweet and savory. Adjust with a small pinch more sugar or a splash more soy sauce if needed.

Step 4: Marinate the Chicken

Add the chicken strips to the marinade and use your hands or a spoon to toss everything together, making sure every piece of chicken is thoroughly coated on all sides. Cover the bowl with plastic wrap and place it in the refrigerator. Marinate for a minimum of 2 hours, but overnight is genuinely better. The longer the chicken sits in the marinade, the more deeply the flavors penetrate the meat and the more tender it becomes from the enzymes in the coconut milk. If you are short on time, even 30 minutes at room temperature is better than nothing, but plan ahead if you can.

Step 5: Make the Peanut Sauce

While the chicken is marinating, make your peanut sauce — it actually gets better as it sits, so making it ahead is ideal. Place the peanut butter, coconut milk, red curry paste, soy sauce, brown sugar, and lime juice in a small saucepan over medium-low heat. Whisk everything together as it warms up, until the peanut butter has melted completely into the coconut milk and you have a smooth, uniform sauce. Bring it to a gentle simmer — not a rolling boil — and cook for about 3 to 5 minutes, stirring regularly, until the sauce thickens slightly. Remove it from the heat. Add warm water one tablespoon at a time, whisking after each addition, until the sauce reaches a consistency that coats the back of a spoon and pours smoothly. Taste and adjust: more lime for brightness, more sugar for sweetness, more soy for saltiness. Pour it into a serving bowl and set aside. It will thicken more as it cools — if it gets too thick, just whisk in a little more warm water before serving.

Step 6: Thread the Chicken onto Skewers

Remove the soaked skewers from the water and pat the tips dry. Take a strip of marinated chicken and thread it onto a skewer in a gentle S-shape or accordion-fold so that it lies flat and secure rather than spinning freely. Thread 2 to 3 strips per skewer depending on the size of your pieces, leaving about 2 inches of skewer at the bottom to use as a handle. Do not pack the chicken too tightly — leave a tiny gap between the folds so heat can circulate and cook the chicken through. Work quickly so the chicken stays cold while you are threading, which makes it easier to handle.

Step 7: Cook the Chicken

You can cook the satay on an outdoor grill, a grill pan, or a regular non-stick pan — all three work well. For the grill or grill pan: heat it to medium-high heat and brush the grates lightly with oil. Cook the skewers for about 3 to 4 minutes on the first side without moving them — you want them to develop a proper golden-brown crust and some char before you flip. Turn and cook for another 3 to 4 minutes on the second side until cooked through. For a regular pan: heat 1.5 tablespoons of oil in a large non-stick pan over medium-high heat. Cook the skewers in batches, 3 to 4 minutes per side, leaving room in the pan between skewers so the chicken sears rather than steams. Do not crowd the pan or you will lose all that golden, caramelized color. Wipe the pan clean between batches if the residual marinade starts to burn.

Step 8: Rest and Serve

Let the cooked skewers rest on a plate for 2 to 3 minutes before serving. This allows the juices to redistribute inside the chicken so every bite stays moist. Arrange the skewers on a platter and pour the peanut sauce into a small bowl alongside. Scatter some roughly chopped roasted peanuts and fresh cilantro leaves over the chicken, and add lime wedges and sliced cucumber on the side. The cucumber is not just for decoration — cool, crisp cucumber alongside rich, savory chicken and peanut sauce is a classic pairing that cuts through the richness perfectly. Serve immediately.

Variations in the Recipe

Indonesian-Style Satay (Sate Ayam)

The original Indonesian version of satay is slightly different from the Thai version and worth knowing about. The marinade uses less coconut milk and more fresh spices — crushed lemongrass, galangal (a close relative of ginger), shallots, and fresh chilies ground into a paste before mixing with the chicken. The peanut sauce in the Indonesian style is also different: it is made by grinding roasted peanuts rather than using peanut butter, which gives it a coarser, more rustic texture with bigger pockets of peanut flavor. A splash of kecap manis (Indonesian sweet soy sauce) is stirred in at the end. If you want to explore the original roots of this dish, seek out fresh lemongrass and galangal at an Asian grocery store and try blending them into your marinade.

Peanut-Free Version with Almond Butter Sauce

If you are cooking for someone with a peanut allergy, you can make the sauce using almond butter instead of peanut butter with excellent results. Use the same quantity — ½ cup of natural almond butter — and follow the same peanut sauce method exactly. The flavor is slightly milder and less bold than peanut sauce, but it is still creamy, rich, and absolutely delicious. You can also add a teaspoon of toasted sesame oil to the sauce to give it a little more depth. The chicken marinade does not need any changes for this version.

Pan-Fried Chicken Satay Without Skewers

Sometimes you want all the flavors of chicken satay without the fuss of threading skewers, and this is a completely valid approach for a weeknight dinner. Marinate the chicken exactly as described, but instead of cutting into strips and skewering, leave the thighs whole or cut them into larger chunks. Heat oil in a large pan or wok over high heat and cook the chicken in batches until golden and cooked through. Slice it and serve over jasmine rice with the peanut sauce drizzled over the top and fresh cucumber and cilantro alongside. All of the flavor, none of the skewer soaking.

Spicy Peanut Sauce Version

If you love heat, you can easily turn the peanut sauce into something with a proper kick. Add an extra tablespoon of red curry paste and a teaspoon of sambal oelek (a Southeast Asian chili paste you will find at any Asian grocery store) when making the sauce. You can also add a finely minced fresh red chili along with the curry paste. The heat level is entirely up to you — start conservative, taste as you go, and add more chili paste in small increments until it sits exactly where you want it. The coconut milk and peanut butter will absorb a good amount of heat before the sauce starts tasting truly spicy, so do not be shy.

Mistakes to Avoid

Skipping the Marinade Time

Of all the mistakes you can make with chicken satay, this one has the biggest impact on the final result. Two hours is the absolute minimum time the chicken should spend in the marinade, and overnight is where the magic really happens. The coconut milk needs time to work on the muscle fibers of the chicken, softening and tenderizing them so that what comes off the grill is genuinely tender rather than just cooked through. If you try to rush the process and marinate for only 15 to 20 minutes, the chicken will taste fine on the surface but will not have that deep, all-the-way-through flavor and tenderness that makes restaurant satay so good. Plan ahead, even if it just means mixing the marinade before you go to bed the night before.

Using Chicken Breasts Without Adjusting Cooking Time

Chicken breasts can absolutely be used in this recipe, but they require more attention during cooking because they have far less fat than thighs and go from perfectly cooked to dry and chalky in a matter of seconds. If you use breasts, cut them into slightly thinner strips than you would thighs, and reduce the cooking time to about 2 to 3 minutes per side rather than 3 to 4. Pull them off the heat the moment they feel firm to the touch and show no pink inside. Investing in a meat thermometer and pulling them off at 165°F (74°C) is the safest approach if you are unsure.

Not Soaking the Bamboo Skewers

Dry bamboo skewers placed directly over high heat will start to burn and char within minutes, and if you are using a grill, they can actually catch fire. Beyond the safety issue, burning skewers leave a bitter, charred taste on the chicken near the skewer, and the structural integrity of the stick weakens to the point where it can snap under the weight of the meat. Soaking them in cold water for 30 minutes is a minimum — an hour is better. If you forget to soak them, run them under cold water for a few minutes and then wrap the exposed ends in foil before cooking.

Boiling the Peanut Sauce on High Heat

The peanut sauce needs to be cooked gently over medium-low heat, not blasted at high heat. When peanut butter is exposed to aggressive heat, it can seize up, become grainy, and lose its smooth, creamy consistency. It can also scorch on the bottom of the pan very quickly because of its sugar content. Keep the heat low, stir or whisk frequently, and bring the sauce to just a gentle simmer. If it starts to look thick and gluey in the pan, take it off the heat immediately and whisk in a splash of warm water to loosen it. The sauce should be smooth, glossy, and pourable when it is done correctly.

Crowding the Pan or Grill

If you are cooking the satay skewers indoors in a pan, the temptation is always to cook as many as possible at once to get dinner on the table faster. Resist this temptation completely. When you crowd a pan, the chicken releases moisture and the temperature drops significantly — instead of searing and developing that golden, caramelized crust, the chicken effectively steams in its own juices, coming out pale, slightly soggy, and without that all-important char. Cook in batches with space between each skewer, let the pan reheat fully between batches, and the results will be dramatically better. Good color on the chicken means good flavor — it is worth the extra few minutes.

Conclusion

Chicken satay with peanut sauce is one of those recipes that punches well above its weight in terms of the impression it makes relative to the effort involved. The marinade takes 10 minutes to mix together, the peanut sauce takes about 10 minutes to cook, and everything else is just patience while the chicken marinates. What you end up with is a platter of golden, fragrant, juicy skewers with a creamy, deeply flavored sauce that tastes genuinely as good as — and in my experience, better than — most restaurant versions. The key things to remember are always to use chicken thighs, always marinate overnight if you can, always use natural peanut butter in the sauce, and never rush the cooking by crowding the pan. Get those four things right and this recipe will become one of your most requested dishes. Make it once and you will understand immediately why chicken satay has conquered the entire world.

FAQs Section

What cut of chicken is best for satay?

Boneless, skinless chicken thighs are the best cut for satay by a significant margin. They have a higher fat content than chicken breasts, which means they stay moist and juicy even when cooked at high heat on a grill or in a hot pan. They are also much more forgiving — a chicken breast that is cooked even 30 seconds too long can become dry and tough, while a chicken thigh can handle a little extra heat and still come out tender. For the most tender result, cut the thighs into long, thin strips and marinate them overnight so the coconut milk has time to tenderize the meat fully.

Can I make chicken satay without a grill?

Absolutely. A regular non-stick frying pan or a cast iron grill pan both work very well. For a frying pan, heat about 1.5 tablespoons of neutral oil over medium-high heat and cook the skewers in batches for 3 to 4 minutes per side. For a grill pan, heat it until it is very hot, brush lightly with oil, and cook in the same way — the ridges will give you beautiful grill marks and a slight char on the chicken that is very close to the effect of an outdoor grill. You can also cook chicken satay under the broiler — place the skewers on a foil-lined baking sheet and broil 4 to 5 inches from the heat for about 4 minutes per side until golden and slightly charred at the edges.

How long can I marinate chicken satay?

You can marinate the chicken for as little as 30 minutes at room temperature in a pinch, but for the best results, marinate in the refrigerator for 2 hours minimum and up to 24 hours maximum. Beyond 24 hours, the acid and enzymes in the marinade can begin to break down the proteins in the chicken too aggressively, resulting in a slightly mushy texture rather than the tender-but-firm texture you are looking for. The sweet spot is anywhere between 4 and 12 hours, so an overnight marinade started the evening before is genuinely perfect.

How do I store and reheat leftover chicken satay?

Store leftover chicken satay skewers in an airtight container in the refrigerator for up to 4 days. Store the peanut sauce in a separate sealed container in the fridge for up to a week. To reheat the chicken, remove it from the skewers and warm it in a dry pan over medium heat for 2 to 3 minutes, or in the oven at 325°F (160°C) for about 8 minutes. Avoid microwaving if you can — it makes the texture slightly rubbery. The peanut sauce will thicken considerably in the fridge, so warm it gently in a small saucepan over low heat and whisk in a tablespoon or two of warm water until it returns to a smooth, dippable consistency.

Can I freeze chicken satay?

Yes, both the marinated raw chicken and the cooked chicken satay can be frozen. For raw chicken, place the chicken pieces in the marinade in a freezer bag, squeeze out the air, seal it, and freeze for up to 3 months. Defrost overnight in the refrigerator before threading onto skewers and cooking — by the time it has defrosted, it will have been marinating for hours and will be deeply flavored. For cooked chicken, let it cool completely, remove from skewers, and freeze in an airtight container for up to 3 months. The peanut sauce also freezes well in a sealed container for up to 3 months. Thaw everything overnight in the fridge and reheat gently.

What is the difference between Thai and Indonesian satay?

Both versions feature marinated meat on skewers with a peanut sauce, but the details are different. Thai satay, which is the version most people are familiar with internationally, uses a coconut milk-based marinade flavored with curry powder, turmeric, fish sauce, and garlic, and the peanut sauce is made with peanut butter, coconut milk, and red curry paste. Indonesian satay, called sate ayam, has a marinade built on fresh aromatics like lemongrass, shallots, garlic, and galangal ground into a paste, and the peanut sauce is traditionally made from freshly ground roasted peanuts with kecap manis for sweetness. Both are outstanding — this recipe follows the Thai approach, which is the easiest and most accessible for home cooks.

What should I serve with chicken satay?

The classic accompaniments are jasmine rice, sliced fresh cucumber, and a simple red onion and cucumber pickle called acar. The cool, crunchy cucumber is not just a garnish — it is there to balance the richness of the peanut sauce and the warmth of the spiced chicken, and it works beautifully in that role. You can also serve satay with a light noodle salad, steamed bok choy, or a simple green salad dressed with a little sesame oil and rice vinegar. As an appetizer, it works perfectly on its own with just the peanut sauce for dipping and cucumber on the side.