Indonesian Stir Fry with Chicken, Vegetables & Kecap Manis

Updated November 4, 2026

Total time
40 min
prep 20 min · cook 20 min
Serves
4
portions as written
Safe temperature (USDA)
165°F / 74°C
check the thickest piece

Jump to recipe

Indonesian Stir Fry with Chicken, Vegetables & Kecap Manis

Indonesian-style chicken and vegetable stir-fry pairs tender chicken and crisp vegetables with garlic, ginger, and sweet-savory kecap manis. It is a flexible home-style dish inspired by Indonesian flavors, served hot with rice and a squeeze of lime. Versions vary from cook to cook, and this recipe keeps the method simple while making the sauce easy to balance.

Ingredients

  • 1 lb boneless, skinless chicken thighs, cut into bite-size strips (450 g)
  • 2 tbsp neutral cooking oil, such as canola or vegetable oil (30 ml), divided
  • 1 medium yellow onion, thinly sliced (about 1 cup / 150 g)
  • 3 garlic cloves, finely chopped (about 1 tbsp / 9 g)
  • 1 tbsp finely grated fresh ginger (6 g)
  • 1 medium red bell pepper, thinly sliced (about 1 cup / 150 g)
  • 1 medium carrot, cut into thin matchsticks (about 1 cup / 100 g)
  • 1 cup green beans, trimmed and cut into 1-inch pieces (150 g)
  • 2 cups thinly sliced green cabbage (140 g)
  • 3 tbsp kecap manis, Indonesian sweet soy sauce (45 ml)
  • 1 tbsp regular soy sauce (15 ml)
  • 1 tbsp fresh lime juice (15 ml)
  • 1 tsp sambal oelek or another chili paste (5 ml), optional
  • 2 tbsp water (30 ml)
  • ¼ tsp fine salt (about 1.5 g), plus more if needed
  • ⅛ tsp ground black pepper (about 0.3 g)
  • ¼ cup roughly chopped cilantro leaves (10 g), optional garnish
  • 1 lime, cut into wedges (about 70 g), for serving

Instructions

  1. Prepare the ingredients. Cut the chicken into strips of similar thickness so they cook at about the same rate. Slice the onion, pepper, and cabbage; cut the carrot into thin matchsticks and the beans into short pieces. Mince the garlic and grate the ginger. In a small bowl, stir together the kecap manis, soy sauce, lime juice, sambal if using, and water. Having everything ready before the pan gets hot makes the quick cooking easier to manage.
  2. Heat the pan. Set a large wok or 12-inch skillet over medium-high heat for about 2 minutes. Add 1 tablespoon of the oil and swirl it across the base. The pan should be hot enough that the oil shimmers, but not smoking heavily. If your skillet is small, plan to cook in batches; crowding the pan traps steam and makes it harder to brown the chicken.
  3. Cook the chicken. Add the chicken in a single layer, season with the salt and pepper, and leave it undisturbed for about 2 minutes so the first side can brown. Stir-fry for another 6 minutes, turning the pieces often, until browned and nearly cooked through. Check the thickest pieces with a food thermometer: the USDA FSIS safe minimum internal temperature for chicken is 165°F (74°C). Transfer the chicken to a clean plate once it reaches that temperature. If the pan is crowded, cook the chicken in two batches, adding a little of the remaining oil as needed.
  4. Soften the aromatics. Add the remaining tablespoon of oil to the pan. Add the onion and cook for 1 minute, stirring, then add the garlic and ginger. Stir constantly for about 30 seconds, just until fragrant. Keep the garlic moving so it does not burn; scorched garlic can make the sauce taste bitter.
  5. Stir-fry the vegetables. Add the green beans and carrot first and cook for 2 minutes, tossing often. Add the bell pepper and cabbage and stir-fry for about 3 minutes more. The vegetables should be hot and beginning to soften, while still retaining some bite. If your pan looks dry or the ingredients begin to stick, add 1 tablespoon of water rather than turning the heat down immediately.
  6. Finish with the sauce. Return the chicken and any juices on the plate to the pan. Pour in the sauce mixture and toss everything together for 2 to 3 minutes, until the sauce bubbles lightly and coats the chicken and vegetables. Check a thick chicken piece once more if needed to confirm it is at 165°F (74°C). Taste a piece of vegetable with some sauce; add a small pinch of salt if it needs it, or a squeeze of lime if the sweetness feels too pronounced.
  7. Serve promptly. Take the pan off the heat and scatter over cilantro, if using. Bring the lime wedges to the table and serve the stir-fry while hot, ideally with steamed rice. The sauce will thicken slightly as it stands, so avoid leaving the finished dish in the pan for a long time before serving.

Tips

  • Look for kecap manis. This thick Indonesian sweet soy sauce gives the dish its characteristic glossy sweetness and is sold in many Asian grocery stores. If you cannot find it, mix 2 tablespoons (30 ml) regular soy sauce with 1 tablespoon (12 g) brown sugar and use that in place of the 3 tablespoons of kecap manis. The substitute is thinner and less complex, so simmer the finished sauce briefly and taste before adding extra salt.
  • Cut vegetables for quick cooking. Thin, evenly sized pieces cook in the short stir-fry time without turning mushy. Slice carrots into matchsticks rather than thick coins, and halve especially thick green beans lengthwise. If you use a different vegetable, cut it to a similar size and add firm pieces before tender leaves.
  • Keep the pan uncrowded. A wok is helpful but not essential; a wide skillet works well. If ingredients pile up in the pan, cook the chicken in batches and remove some vegetables temporarily if necessary. A crowded pan releases moisture and steams the food, so the result will be softer and less browned.
  • Adjust sweetness and heat at the end. Kecap manis brands vary in sweetness, and sambal pastes vary in heat. Start with the listed amount of chili, then add more at the table. Lime juice brings the flavors into balance; add it a teaspoon at a time if you want more tang without making the whole dish hot.

Serving Suggestions

Serve the stir-fry over steamed jasmine or long-grain rice so the grains catch the sweet-savory sauce. For a more substantial meal, add a fried egg on top or put out extra rice for anyone who wants a larger portion. A simple side of sliced cucumber or tomato gives the plate a cool, fresh contrast to the hot pan-cooked vegetables. A little extra lime and chopped cilantro can be offered at the table, but both are optional; the sauce is already seasoned to make the dish satisfying on its own.

If you prefer noodles, serve the stir-fry alongside cooked rice noodles or egg noodles rather than adding uncooked noodles to the pan. Cook and drain the noodles separately, then toss them with a little oil so they do not clump. You can serve the chicken and vegetables on top, or fold the noodles in at the very end with a splash of water. The latter makes a more noodle-forward meal and may need an extra spoonful of kecap manis and lime to season the added noodles.

Variations

Make it with tofu: Replace the chicken with 14 ounces (400 g) firm tofu, drained and patted dry. Cut it into cubes and brown it in the pan with the first tablespoon of oil, turning gently, then transfer it to a plate while you cook the vegetables. Return it to the pan with the sauce. The USDA chicken temperature does not apply to tofu; heat it until steaming hot throughout.

Use another protein: Thinly sliced beef or pork can stand in for chicken. For whole cuts of beef or pork, cook to the USDA FSIS safe minimum of 145°F (63°C) and allow a 3-minute rest; the brief rest can happen while the vegetables finish. Ground meat should reach 160°F (71°C). Shrimp are another quick option: cook them until opaque and firm, checking the thickest part for 145°F (63°C). Keep raw-protein utensils and plates separate from cooked food.

Change the vegetables: Broccoli florets, snow peas, mushrooms, or sliced bok choy all work. Use about 4 to 5 cups (roughly 400 to 500 g) of vegetables in total, keeping the overall amount close to the recipe so the sauce can coat everything. Add broccoli and mushrooms with the beans and carrot; add snow peas or bok choy leaves near the end because they cook quickly.

Make it milder or more fiery: Leave out the sambal for a mild version, or serve chili paste separately. For more heat, stir in another ½ teaspoon (2.5 ml) sambal at the end and taste before adding more. A pinch of crushed red pepper is a convenient substitute, though its dry, sharp heat is different from the rounded flavor of chili paste.

Storage and Reheating

Refrigerate leftovers within 2 hours of cooking, dividing a large amount into shallow containers so it cools promptly. Store the chicken and vegetables in a covered container in the refrigerator for 3 to 4 days. The vegetables will soften as they sit, but the sauce remains flavorful; keep rice in a separate container if you have leftovers so it is easier to portion and reheat evenly.

For stovetop reheating, place a portion in a skillet with 1 to 2 tablespoons (15 to 30 ml) water. Cover and warm over medium heat, stirring once or twice, until steaming hot. Reheat leftovers to 165°F (74°C), checking the center with a food thermometer. A microwave also works: cover loosely, heat in short intervals, and stir between intervals so the chicken and vegetables warm evenly. Avoid reheating the same portion repeatedly. Freeze leftovers in a well-sealed freezer-safe container for up to 2 months for best quality, then thaw in the refrigerator and reheat to 165°F (74°C).

Frequently Asked Questions

Is this the same as Indonesian nasi goreng?

No. Nasi goreng is Indonesian fried rice, usually made by stir-frying cooked rice with seasonings and other ingredients. This recipe is a chicken-and-vegetable stir-fry meant to be served with rice on the side. Indonesian food has many regional and household variations, so the flavor here is inspired by familiar ingredients such as kecap manis rather than presented as one definitive version of a national dish.

Can I make the sauce ahead?

Yes. Mix the kecap manis, soy sauce, lime juice, sambal, and water up to 2 days ahead and keep the mixture covered in the refrigerator. Stir it before pouring because the ingredients may settle. Prepare the vegetables ahead too, but store them separately from the raw chicken, and keep raw chicken refrigerated until you are ready to cook.

What can I use if I do not have a wok?

A wide, heavy skillet is a good substitute. The important thing is having enough surface area for the ingredients to make contact with the hot pan. Cook in batches if needed, and return everything to the skillet for the final sauce toss. A small saucepan or narrow pan is less suitable because the vegetables are likely to steam in their own moisture.

Can I make Indonesian stir-fry without chili?

Yes. The sambal is optional, and the dish still has plenty of flavor from the ginger, garlic, lime, and kecap manis. Leave it out for a mild family meal and put chili sauce on the table for those who want it. If the finished sauce tastes too sweet, add a little lime juice or regular soy sauce rather than adding heat.

How do I keep the vegetables crisp?

Use high heat, cut the vegetables evenly, and avoid adding them all at once. Start with the firmer beans and carrots, then add pepper and cabbage later. Cook only until the vegetables are hot and just tender, and serve soon after the sauce coats them. A brief finish in the sauce keeps the flavor together without requiring the vegetables to simmer for a long time.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).