Indonesian sate ayam served with peanut sauce and lontong rice cakes
Prep40 min
Cook25 min
Serves4 servings
CuisineIndonesian

Sate Ayam: Indonesian Street-Stall Chicken Skewers with Peanut Sauce

How to make sate ayam, Indonesia's sweet-savory chicken skewers, street-stall style: kecap manis, a chunky peanut sauce, skewering chicken thighs, cooking without charcoal, Madura-style and regional differences, adjusting the heat, safe doneness, storage and common mistakes.

Total: 1 hr 5 minLevel: Intermediate

Cooking flow

Cooking steps

STEP 11 / 6

Cut and marinate the chicken

Massaging chicken thighs with kecap manis and aromatic marinade
Coating the chicken in the sweet soy marinade first gives it the glossy finish typical of sate ayam when grilled

Cut 700 g chicken thighs into 2.5 cm cubes. In a bowl, combine the chicken, garlic, coriander, turmeric, 3 tbsp kecap manis, 1 tbsp soy sauce, 1 tbsp lime juice, 1 tbsp oil and 1/2 tsp salt, and massage for about 2 minutes. Stop when the marinade coats the surface of the meat evenly and there is no large pool of liquid left in the bottom of the bowl. Refrigerate for 30 minutes, or 2 hours if you have time.

STEP 22 / 6

Thread the skewers

Threading chicken onto soaked bamboo skewers for sate ayam
Keep the skewers short and the meat an even thickness to reduce uneven cooking

Soak the bamboo skewers in water for 30 minutes. Thread 4 to 5 pieces of chicken onto each skewer so the meat section is 9 to 10 cm (3 1/2 to 4 in) long. The pieces should just touch each other: packed too tightly, the center won't cook through; with too much space between them, the meat dries out. With skin-on meat, thread it so a little skin shows on the outside, and it will grill up crisp and fragrant.

STEP 33 / 6

Make the peanut sauce

Simmering crushed peanuts and aromatics for sate ayam sauce
Leaving the peanut sauce a little coarse gives it a street-stall texture

Coarsely crush 180 g roasted peanuts. Heat 1 tbsp oil in a small saucepan and sauté the onion, garlic and red chile over medium heat for 3 minutes. When the aroma turns sweet, add the peanuts, 250 ml water, kecap manis, brown sugar, tamarind and salt, and simmer over low heat for 8 to 10 minutes. If it gets too thick, add water 2 tbsp at a time.

STEP 44 / 6

Start grilling the skewers

Starting to grill sate ayam over charcoal
Leave the skewers alone at first so the chicken develops a fragrant browned surface

Over charcoal, grill over medium heat at a good distance from the coals; under a broiler, use medium; in a skillet, use medium heat with a thin film of oil. For the first 3 minutes, don't fuss with them; let the surface brown. Under a broiler, the skewer handles burn easily, so wrap the exposed ends loosely in aluminum foil.

STEP 55 / 6

Brush with sweet soy and turn

Brushing a thin coat of kecap manis glaze on grilling sate ayam
Add the finishing glaze thinly and at the end. Brushed on too early, the sugar burns easily

Once one side is browned, turn the skewers and lightly brush with a finishing glaze of 2 tsp kecap manis mixed with 1 tsp oil. Too much and the sugar burns, so one pass of the brush is enough. Grill another 3 to 4 minutes, until the surface is glossy and deep brown.

STEP 66 / 6

Check doneness and plate

Resting grilled sate ayam on a rack
A short rest right after grilling lets the juices settle and helps the sauce cling

The chicken is done when it is white all the way to the center and the juices run clear. For food safety, aim for an internal temperature of 75°C (167°F) held for at least 1 minute. Rest the grilled skewers for 2 minutes, then plate. Serve with the peanut sauce, cucumber, red onion, lime, fried onions and white rice.

0 / 0
Ingredients

Ingredients

1 / 3

Chicken skewers

Ingredient Amount Substitutes & notes
Chicken thighs 700 g About 1.5 lb. Skin-on recommended. If using breast, add 1 tsp sugar to the marinade
Bamboo skewers 20 About 15 cm (6 in). Soak in water for 30 minutes before grilling
Garlic 3 cloves Grated. Or 2 tsp garlic paste from a tube
Ground coriander 1 tsp Optional. A little cumin can stand in
Ground turmeric 1/3 tsp For color. Optional
Kecap manis 3 tbsp If you have none, see the substitute sauce below
Soy sauce 1 tbsp Regular Japanese-style (koikuchi) soy sauce
Lime juice 1 tbsp Lemon juice works
Rice bran oil or vegetable oil 1 tbsp Keeps the chicken from drying out on the grill
Salt 1/2 tsp To season the chicken
Kecap manis for the finishing glaze 2 tsp Mix with the 1 tsp oil and brush on thinly at the end of grilling
Oil for the finishing glaze 1 tsp Rice bran oil or vegetable oil
2 / 3

Peanut sauce

Ingredient Amount Substitutes & notes
Unsalted roasted peanuts 180 g About 1 1/4 cups. Or 120 g unsweetened peanut butter
Yellow onion or red onion 80 g Stands in for Indonesian shallots
Garlic 2 cloves Minced
Red chiles 1–2 Leave out for a milder sauce
Kecap manis 2 tbsp Substitute 2 tsp soy sauce + 1 tbsp dark brown sugar
Dark brown sugar or raw cane sugar 1 tbsp To adjust sweetness
Tamarind paste 1 tsp 2 tsp lemon juice can stand in
Water 250 ml About 1 cup. Adjust to the thickness you want
Vegetable oil 1 tbsp For frying the aromatics
Salt 1/2 tsp Adjust at the end
3 / 3

To serve

Ingredient Amount Substitutes & notes
Cucumber 1 Thinly sliced on the diagonal
Red onion 1/4 Thinly sliced. If sharp, soak in water for 5 minutes
Lime 1 Lemon works too
Steamed white rice 4 bowls In place of lontong. Cook it slightly firm
Fried onions 3 tbsp Stand-in for bawang goreng
Sambal To taste Only for those who want extra heat
0 / 0

The story of sate ayam — street-stall skewers that start with smoke and sweet soy

Some evenings, cutting up chicken thighs, you pause and wonder whether to make yakitori or teriyaki. Toss the chicken instead in a dark brown marinade of garlic, coriander and kecap manis, and the same skewers head somewhere else entirely. It tastes like soy sauce, only much sweeter. The smell of caramelizing sugar comes first, and the richness of peanuts follows close behind.

Sate ayam is Indonesia's chicken skewer. Small pieces of chicken are threaded onto bamboo skewers, grilled over charcoal and eaten with peanut sauce or a sweet soy glaze. The setup looks a lot like Japanese yakitori, but the flavor is built on a very different axis. Where yakitori lets the meat itself shine with salt or a simple tare, sate ayam brings sweet soy, peanuts, shallots, chiles and lime together on one plate.

Peanut sauce being spooned over freshly grilled sate ayam
Glossy sweet soy, a hint of charcoal and peanut sauce together are what make it taste like sate ayam

As a first taste of Indonesian food, nasi goreng (in Japanese) and mie goreng (in Japanese) are better known. But if you want the feel of an Indonesian street stall, satay is hard to beat. Smoke rises while it grills, you hold the end of the skewer to drag it through the sauce, and you eat it with cucumber and lontong. The moment it lands on the table, it adds a sense of fun, of picking and sharing, next to the rice dishes.

This recipe adapts Madura-style chicken satay for a home kitchen. The peanut sauce is built on real peanuts rather than sesame paste, and there is a substitute for when you can't find kecap manis. It works without charcoal, under a broiler, in a skillet or in a toaster oven, and it walks through the usual pitfalls: burning, drying out and a sauce that separates.

About the name

In Indonesian it is written sate ayam. In English it is also called chicken satay or satay chicken. This article uses "sate ayam," which keeps the sound of the original.


Background — satay changes from Java to Madura to the port towns

Sate ayam lined up over charcoal at an Indonesian street stall
Street-stall charcoal, sweet soy and peanut sauce are the backdrop of sate ayam

Satay is eaten all across Indonesia, but it is not one fixed recipe. Indonesia Travel introduces satay as one of the country's most famous dishes and explains that ingredients and sauces change in Java, Madura, Padang, Bali and elsewhere. The basic structure, small pieces of meat threaded on skewers and grilled, is shared, but the sauce on the plate varies a great deal from place to place.

As for where satay came from, a commonly told theory is that it spread as street food in Java around the 19th century, influenced by the grilled skewers (kebabs) brought by Indian and Arab traders. Reliable records are scarce, however, and its origins remain unclear.

This recipe centers on the Madura-style sate ayam you often see at street stalls. The chicken is cut small, grilled with sweet soy, and served with peanut sauce, chopped shallots, chiles and lime. The sauce is rich, but with cucumber and lontong alongside, it never feels too heavy.

Region / name Meat and shape What the sauce is like Making it at home
Sate Ayam Madura Small chicken skewers Peanut sauce, kecap manis, shallots Easy with chicken thighs and peanuts
Sate Padang Beef or offal Yellow spice sauce thickened with rice flour Hard for a first try. Strongly aromatic
Sate Lilit Minced fish or chicken wrapped around a stick Coconut, aromatics, lemongrass Close to tsukune meatballs; better as its own recipe
Sate Kambing Goat Sweet soy sauce, chiles, tomato Lamb is an easy stand-in

English-language recipes often describe sate ayam simply as "chicken skewers with peanut sauce." But peanuts alone don't make it Indonesian. The sweetness of charred kecap manis, the raw bite of shallots, the tartness of lime and the smoke of charcoal: without those four, it drifts toward yakitori with peanut sauce.

In a home kitchen, it is more realistic to decide which parts of the flavor you must keep than to chase perfect charcoal. Kecap manis can be replaced with soy sauce and dark brown sugar. Shallots can be approximated with red onion or yellow onion. Lontong (rice packed into banana leaves or similar wrappers and cooked until firm) takes real effort to make at home, so firmly cooked plain rice is plenty to start with. What really matters is cutting the chicken small, grilling it quickly and finishing it with a thick peanut sauce.


Ingredients (serves 4) — decide on the chicken thighs and sweet soy first

Chicken, bamboo skewers, kecap manis, peanuts and aromatics laid out for sate ayam
With chicken thighs, sweet soy, peanuts and bamboo skewers, you can start a home version of sate ayam

This makes about 16 to 20 short skewers. As a main course it serves 4; if you also serve nasi goreng or mie goreng, it is enough for 6 to share. You can use chicken breast, but for your first time, thighs are the better choice. Because the meat is cut small and grilled, lean breast meat with little fat and moisture dries out easily.

Allergy information

This dish contains chicken, peanuts, and seasonings that may contain soy and wheat. If anyone has a peanut allergy, skip the peanut sauce and switch to a sweet-savory sauce of kecap manis and lime. Check the ingredient labels on your soy sauce and kecap manis as well.

A substitute for kecap manis

In a small saucepan, combine 4 tbsp regular soy sauce, 3 tbsp dark brown sugar or raw cane sugar and 1 tbsp water, and simmer over low heat for 3 minutes. Turn off the heat once it thickens slightly. It thickens further as it cools. Some recipes add star anise or cinnamon, but in sate ayam those aromas tend to take over, so you can leave them out the first time.

Ingredients and tools for this dish

If you want to get closer to the real flavor in one step, start with kecap manis. You can also use it for nasi goreng, mie goreng and sambal stir-fries.

Unsalted roasted peanuts are the easiest to work with. Sweetened peanut butter makes it hard to control the sweetness.

On days when you want everyone to set their own heat level, put sambal at the edge of the plate. If you make a batch of the sambal substitute (in Japanese), you can use it for both nasi goreng (in Japanese) and satay.

Shorter bamboo skewers fit more easily under a home broiler or in a skillet. Soak them in water before using so they don't burn.


How to make it — thread small pieces and build a glaze without overcharring

Sate ayam depends more on careful prep than on grilling time. If you cut the chicken large, the outside blackens before the center is cooked. Cut it too small and it dries out. Aim for 2.5 cm (1 in) cubes. Don't pack the skewers too tightly; leave a little space for the heat to get through.

Cooking without charcoal

A broiler gives the most fragrant result. In a skillet, brown the skewers first, then briefly char just the surface with a kitchen torch or under the broiler to get closer to the street-stall aroma. Burning charcoal indoors is dangerous; use it only outdoors or in a dedicated, well-ventilated setup.


Getting closer to the original in a home kitchen

A sate ayam table with thick peanut sauce, sambal, lontong and cucumber
Sate ayam is more than skewers: set out the sauce, cucumber, rice and something spicy together and the table comes together

When recreating sate ayam, the ingredients cause more hesitation than the charcoal. Kecap manis, shallots, tamarind, lontong, chiles: the list may look unfamiliar, but you don't need to source everything as imported specialty goods. Separate what can be substituted from the core you want to keep.

Ingredient or tool Close to the original Practical home solution Verdict
Chicken Small pieces of chicken on skewers Chicken thighs cut in 2.5 cm cubes Breast dries out easily; use thighs the first time
Kecap manis Bango, ABC and similar brands Regular soy sauce + dark brown sugar The heart of the dish. Don't skip it entirely
Shallots bawang merah Red onion, yellow onion Tame the bite of any served raw
Tamarind Tartness and fruitiness Lemon juice, a little rice vinegar The acidity changes, but it substitutes fine
Peanuts Coarsely crushed peanuts Unsweetened peanut butter Loses some texture, but saves time
Charcoal Street-stall smoke and indirect heat Broiler, skillet Avoid charcoal indoors
Lontong Rice wrapped in banana leaves Slightly firm white rice White rice is plenty the first time

The one thing that is close to irreplaceable is the glaze of sweet soy. Grill with plain soy sauce alone and it drifts toward Japanese yakitori. Use kecap manis, or the soy-and-brown-sugar substitute, and you get that charred sweetness.

Tamarind, on the other hand, can be substituted. The depth of the tartness changes, but lemon and a little vinegar make it perfectly easy to enjoy. The peanut sauce feels more like a street stall when it has some texture, but on busy days you can thin unsweetened peanut butter with water and season it with garlic, kecap manis and lemon, and it still works.


Cooking tips — stop at fragrant, before it burns

Thick peanut sauce set right next to grilled sate ayam
Add the peanut sauce at the end. Slathered on before grilling, it burns easily

Sate ayam isn't a dish you burn; it's a dish that uses the aroma just before burning. Kecap manis is high in sugar, so if you brush it on over high heat from the start, the meat turns black before it cooks through.

Grill in stages

First brown the surface of the chicken. Turn it partway through. At the end, brush on a thin coat of the sweet finishing glaze. Following this order makes it easier to avoid both burning and undercooking.

Don't thin the sauce too much

Peanut sauce is easiest to eat when it drops slowly from a spoon. If it's watery, it won't cling to the skewers and just runs to the bottom of the plate. If it's too thick, add a little hot water rather than cold; the aroma comes through better.

Cut the chicken to the same size

If a 2 cm piece and a 4 cm piece share a skewer, the small one dries out while the large one stays undercooked. Just keeping the size even cuts down on failures, even without a thermometer.

Never serve it undercooked

Sweet browned spots make the chicken look done, but the center may still be raw. Cut open the thickest part of one skewer and check that the center is white and the juices run clear. If you have a probe thermometer, aim for 75°C (167°F) in the center.


Common mistakes — blackened, dry, heavy sauce

Well-grilled sate ayam compared with an overcharred skewer
Overcharring, dryness and sauce thickness can mostly be fixed with heat control and the timing of the glaze

Home-cooked sate ayam is a dish where mistakes are easy to see: blackened, tough, heavy sauce, chalky peanuts. Sort out the causes and they are easy to fix.

Problem Main cause Fix
Only the outside is black Glaze brushed on too early, heat too high Brush thinly only in the last 2–3 minutes
Center seems raw Pieces too large, skewer packed too tightly Cut 2.5 cm cubes and leave a little space
Meat is dry Breast meat, overcooking, no rest Use thighs and rest 2 minutes after grilling
Sauce feels heavy Too many peanuts, not enough acidity Add a little lemon or tamarind
Chalky texture Peanuts not simmered long enough Simmer over low heat for 8–10 minutes so the oil blends in
Tastes like yakitori Sweet soy and peanut too weak Serve extra kecap manis and sauce on the side

Not every dark spot is bad. Light charring is flavor. But once bitter, charcoal-black burns build up, even peanut sauce can't rescue them. If the heat feels too strong, move the skewers off the heat for a moment and lower it before brushing on the glaze.

If the peanut sauce is too thick, it feels like you're eating the sauce more than the meat. Squeeze lime over just before eating and serve plenty of cucumber and red onion to cut the richness. The same goes for rich dishes like rendang (in Japanese): something tart or a few raw vegetables on the side keep it enjoyable to the last bite.


Serving, storage and making ahead

Dinner of sate ayam, white rice, peanut sauce and cucumber on a home table
With white rice, cucumber and lime, sate ayam fits easily into an everyday dinner

At Indonesian street stalls and small eateries, sate ayam is sometimes served with lontong or ketupat, compressed rice cakes. For a family dinner at home, slightly firm white rice is plenty. The sweet peanut sauce goes well with rice, so serving rice and vegetables alongside is more satisfying than making just a few skewers.

To build out an Indonesian menu, pair it with nasi goreng (in Japanese) for a rice dish, mie goreng (in Japanese) for noodles and soto ayam (in Japanese) for a chicken soup, and the table starts to feel like a street-stall spread. If you serve it on the same day as a rich meat dish like rendang (in Japanese), make fewer skewers and add more cucumber and lime.

Grilled sate ayam and peanut sauce stored in separate containers
Store the skewers, sauce and vegetables separately so less moisture seeps out when reheating

The basic rule for storage is to keep the skewers and sauce separate. Slide the grilled satay off the skewers into a clean container. Refrigerate and eat by the next day. Reheating in the microwave alone tends to dry it out, so cover it loosely, warm for 30 seconds, then briefly sear the surface in a skillet to bring the aroma back.

The peanut sauce keeps for 2 to 3 days in the refrigerator. It firms up when cold, so loosen it with a little hot water before using. Don't store the vegetables or lime with it; cut them just before eating. To freeze raw skewered chicken, freeze it marinated and laid flat, and use within 2 weeks. Thaw slowly in the refrigerator and never leave it out at room temperature.


Variations

Madura-, Padang- and Bali-style satay on one table
Peanut sauce, spiced sauce, lemongrass-wrapped skewers: satay changes shape from region to region

Once you're comfortable with sate ayam, try changing the sauce and the meat a little. Rather than jumping straight to a different dish, adjusting within the same framework shows you what actually moves the flavor.

For a milder version, leave the red chile out of the peanut sauce and serve sambal on a separate plate. When kids are eating, make the sauce a little sweeter and squeeze lime only over the adults' portions. For a more grown-up version, serve a little sambal kecap, a mix of chopped red chile, red onion and kecap manis.

If you're using chicken breast, first massage the cut meat with 1 tsp sugar, 1/3 tsp salt and 1 tbsp water, let it sit for 10 minutes, then move on to the marinade. Grill breast meat for less time and take it off as soon as the center is cooked through.

Made with lamb, it leans toward sate kambing. Add a bit more garlic and serve it with a sauce of kecap manis, lime, red onion and chile instead of peanut sauce; the sweet soy aroma pairs well with the richness of the meat. Pork is also delicious, but it moves away from the context of Indonesia's Muslim street stalls, so this article uses chicken as the standard.

For a vegetarian-leaning version, use atsuage (thick fried tofu) and king oyster mushrooms. Pour boiling water over the atsuage to remove excess oil, pat it dry, and cut the mushrooms into fairly large pieces. The same sauce works. Peanut sauce and fried tofu go very well together, and it's a good stepping stone toward Indonesian vegetable dishes like gado-gado.


Frequently asked questions

Sate ayam with peanut sauce and a kecap manis substitute on the table
Thinking about the peanut sauce, the sweet soy and the bamboo skewers separately makes most questions easy to answer

Can I make sate ayam in just a skillet?

Yes. Lightly oil a skillet and cook over medium heat for 3 to 4 minutes per side. At the end, brush on a thin coat of the kecap manis finishing glaze and sear for about 30 seconds. You won't get charcoal smoke, but the sweet glaze and peanut sauce are plenty to make it taste like sate ayam.

Can I use peanut butter instead?

Yes, if it's unsweetened. Thin 120 g peanut butter with 200 ml water, 2 tbsp kecap manis, 2 tsp lemon juice, a little garlic and salt. Sweetened peanut butter tends to make it too sweet, so leave out the brown sugar and adjust.

Can I replace kecap manis with regular soy sauce?

Soy sauce alone turns it into a different dish. If you substitute, add dark brown sugar or raw cane sugar to regular soy sauce and simmer it down a little. Sate ayam depends on the aroma of grilled sweet soy, so this is worth protecting.

How do I keep the bamboo skewers from burning?

Soak them in water for about 30 minutes before using. Under a broiler, wrap the handles loosely in aluminum foil only if they sit close to the heat. Don't cover the meat with foil, though, or it won't brown; wrap only the handles.

Can I make it ahead?

Marinated chicken keeps for about half a day in the refrigerator, or about 2 weeks in the freezer. Once grilled, it's best eaten by the next day. The peanut sauce keeps for 2 to 3 days in the refrigerator, but loosen it with hot water and always reheat it before serving.


In short — sate ayam looks like yakitori, but its flavor is built differently

A family table with sate ayam, white rice, sambal and peanut sauce
Sate ayam goes well with white rice too. Add the sauce and vegetables and it comes together as a dinner

On paper, sate ayam isn't difficult. Cut the chicken, marinate it, skewer it, grill it and serve it with sauce. But its flavor is built differently from Japanese yakitori. Sweet soy, peanuts, shallots, tartness, heat: getting that combination together on the plate is what matters.

For your first try, chicken thighs, kecap manis or the substitute sauce, unsalted peanuts, cucumber and lime are all you need. Even without charcoal, you can make it under a broiler or in a skillet. Next time, add sambal, press rice into a lontong-style cake, or serve it alongside nasi goreng and mie goreng, and the street-stall feel grows little by little.

If you keep cooking Indonesian food, try nasi goreng (in Japanese) next with the same kecap manis, and turn to the sambal substitute (in Japanese) for heat. For a rich meat dish, rendang (in Japanese) is the natural next step; for a light soup alongside, soto ayam (in Japanese). Add just one plate of sate ayam and an Indonesian table gains real depth.


Sources

How we used these sources

To check regional differences, kecap manis and safe cooking temperatures for chicken, we consulted English-language food resources alongside Japanese public health information.