Indonesia · Southeast Asia

Indonesian Lumpia Recipe: Crisp Vegetable Spring Rolls

Updated November 3, 2026

Total time
1 hr 9 min
prep 30 min · cook 24 min
Serves
4
portions as written
Safe temperature (USDA)
165°F / 74°C
check the thickest piece
Cuisine
Indonesia
Southeast Asia

Jump to recipe

Indonesian Lumpia Recipe: Crisp Vegetable Spring Rolls

Indonesian lumpia are crisp spring rolls with roots in Chinese-Indonesian cooking, and versions vary by region and family. This Semarang-inspired filling pairs chicken with bamboo shoots, carrot, and aromatic seasonings; frying the rolls after the filling cools keeps the wrappers crisp and the centers savory.

Ingredients

  • 8 oz (225 g) boneless, skinless chicken thigh, cut into small pieces
  • 1 tablespoon (15 ml) neutral oil, such as canola or vegetable oil, for the filling
  • 2 medium shallots, finely chopped, about ¼ cup (40 g)
  • 2 garlic cloves, finely chopped, about 2 teaspoons (6 g)
  • 1 cup (150 g) canned bamboo shoots, drained, rinsed, and cut into thin matchsticks
  • 1 medium carrot, peeled and cut into thin matchsticks, about ¾ cup (85 g)
  • ½ teaspoon (1 g) ground white pepper
  • 1½ tablespoons (22 ml) kecap manis, Indonesian sweet soy sauce; if unavailable, use 1 tablespoon (15 ml) regular soy sauce mixed with 1 teaspoon (5 ml) brown sugar. The substitute is less syrupy and a little less mellow.
  • 1 teaspoon (5 ml) regular soy sauce
  • ¼ teaspoon (1.5 g) fine salt, or to taste
  • 12 wheat spring-roll wrappers, about 8 inches (20 cm) square, thawed if frozen
  • 1 tablespoon (8 g) all-purpose flour mixed with 1 tablespoon (15 ml) water, for sealing
  • 5 cups (1.2 L) neutral oil, approximately, for frying; use enough to come about 1½ inches (4 cm) up the sides of a small, heavy pot

Instructions

  1. Prepare the ingredients. Drain and rinse the bamboo shoots well, then slice them into thin matchsticks so they fit neatly in the wrappers. Cut the carrot in the same way, finely chop the shallots and garlic, and cut the chicken into roughly ½-inch (1 cm) pieces. Keep the wrappers covered with a clean, slightly damp towel while you make the filling so their edges do not dry out.
  2. Cook the chicken and aromatics. Heat the tablespoon of filling oil in a large skillet over medium heat. Add the shallots and cook for about 2 minutes, stirring, until softened. Stir in the garlic for 30 seconds, then add the chicken. Cook for 4 to 5 minutes, turning the pieces, until the outside is no longer pink. Add the bamboo shoots, carrot, white pepper, kecap manis, soy sauce, and salt.
  3. Finish and check the filling. Cook for another 4 to 5 minutes, stirring often, until the vegetables are tender-crisp and the sauce coats the ingredients rather than pooling in the pan. Check the thickest chicken pieces with a food thermometer; poultry must reach the USDA FSIS safe minimum of 165°F (74°C). If needed, keep cooking and check again. Taste a small piece and adjust the salt or soy sauce. Transfer the filling to a shallow plate and spread it out to cool for 15 minutes. A hot or wet filling can soften the wrappers and make them split.
  4. Set up to wrap. Put one wrapper on a clean work surface with a corner pointing toward you. Keep the remaining wrappers covered. Stir the flour and water into a smooth paste. Have a tray ready for the finished rolls and place it seam-side down so the seam stays closed.
  5. Fill and roll. Spoon about 2 tablespoons of cooled filling in a short line across the wrapper, about 2 inches (5 cm) above the corner closest to you. Fold that corner snugly over the filling, fold the left and right corners toward the middle, then roll away from you into a compact parcel. Dab a little flour paste along the final corner and press to seal. Avoid overfilling: a tight but not stretched wrapper is less likely to tear in the oil. Repeat with the other wrappers.
  6. Heat the frying oil. Pour the frying oil into a small, heavy pot, leaving plenty of room at the top, and heat it over medium heat to 350°F (175°C). Use a thermometer to check the oil rather than judging by appearance. If you do not have one, a small piece of wrapper should bubble steadily and turn golden in about 30 seconds, not darken immediately. Adjust the heat as needed to keep the oil from getting too hot.
  7. Fry in batches. Carefully lower four lumpia into the oil, seam-side down, using tongs or a spider strainer. Fry for about 4 minutes, turning once or twice, until evenly golden and crisp. Do not crowd the pot, since too many rolls lower the oil temperature and can leave the wrappers greasy. Transfer to a rack set over a tray, or to a paper-towel-lined plate. Bring the oil back to temperature before frying the next batch. Fry all 12 in three batches.
  8. Serve while crisp. Let the rolls drain for a minute or two, then serve warm with a dipping sauce. If you need to wait briefly, place them on a wire rack rather than stacking them; trapped steam softens the wrappers.

Tips

  • Dry filling is key. If liquid remains in the skillet, lift the solid filling out with a slotted spoon or cook off the excess before cooling. Moisture inside a roll can make the wrapper soggy or cause it to burst while frying.
  • Handle wrappers gently. Thaw frozen wrappers in the refrigerator according to the package directions, then bring them to a workable temperature while covered. Separate them slowly; if one tears, use an intact wrapper rather than trying to patch a large hole.
  • Keep the oil steady. Use a thermometer if possible and fry in small batches. Oil that is too cool makes a heavy, oily crust; oil that is too hot can brown the outside before the wrapper has crisped evenly.
  • Choose a practical bamboo-shoot substitute. Canned bamboo shoots are widely available in Asian grocery stores and some supermarkets. If you cannot find them, use finely shredded cabbage; it has a sweeter, softer bite and is not an exact match, so cook it just until tender and avoid adding extra liquid.

Serving Suggestions

Serve Indonesian lumpia hot as a snack, starter, or part of a shared meal. Sweet chili sauce is an easy dipping choice, while a Semarang-style tauco sauce—made with fermented soybean paste—offers a saltier, savory contrast. Tauco can be hard to find outside Indonesian or Southeast Asian markets; a small dish of soy sauce with sliced fresh chili is a convenient alternative, though it lacks tauco’s fermented flavor.

For a fuller meal, serve the rolls with steamed rice, a light vegetable soup, or a plate of fresh cucumber and tomato. A little pickled cucumber or acar adds a bright, tangy contrast to the fried wrappers. Put sauces on the side rather than pouring them over the rolls, so each person can dip and the crust stays crisp longer.

Variations

Indonesian lumpia has many regional and household versions. Semarang is particularly associated with a bamboo-shoot filling, often combined with chicken, shrimp, or egg. This version uses chicken and skips shrimp and egg for a straightforward filling. To add shrimp, use 4 oz (115 g) peeled, deveined shrimp cut into small pieces; cook it fully in the skillet until opaque and at least 145°F (63°C) at the thickest part, checked with a food thermometer. Add it with the vegetables so it does not overcook.

For a meat-free roll, replace the chicken with 1 cup (150 g) crumbled firm tofu. Press excess water from the tofu first, then brown it in the skillet before adding the aromatics and vegetables. For a milder, vegetable-forward filling, use extra carrot or finely sliced cabbage instead of chicken. These swaps change the texture and flavor but work with the same wrapping and frying method.

You can also make the filling a little more fragrant with ½ teaspoon (2 g) finely grated fresh ginger, added with the garlic. For a more gently seasoned batch, reduce the white pepper to ¼ teaspoon (0.5 g) and offer chili sauce at the table. Keep the filling fairly compact and dry whichever variation you choose; loose, wet ingredients make rolling and frying less reliable.

Storage and Reheating

For the best crunch, fry only the quantity you plan to serve. Refrigerate cooked leftovers within 2 hours, in a covered container, for 3 to 4 days. The crust will soften in storage, but reheating on a rack in a 375°F (190°C) oven or toaster oven for about 8 to 12 minutes usually restores some crispness. Turn the rolls once and heat until hot throughout; leftovers should reach 165°F (74°C) when checked with a food thermometer.

To prepare ahead, refrigerate the cooked filling in a covered container for up to 3 days and wrap the lumpia shortly before frying. If you have already assembled uncooked rolls, arrange them in a single layer with parchment between layers and freeze promptly. Fry them from frozen at a slightly lower oil temperature, around 325°F (165°C), until golden and hot in the center; allow extra time and avoid overcrowding. Do not thaw frozen uncooked rolls on the counter, because moisture can make the wrappers sticky.

Discard rolls that have been left at room temperature for more than 2 hours. Keep sauces refrigerated according to their package directions or recipe, and do not store fried lumpia submerged in sauce. For make-ahead serving, crisp the rolls shortly before guests arrive and hold them briefly on a rack in a low oven rather than sealing them in a container while hot.

Frequently Asked Questions

Are Indonesian lumpia and Filipino lumpia the same?

They are related spring-roll traditions, but the names cover different regional and family preparations. Indonesian lumpia often has a cooked savory filling and may be associated with Semarang’s bamboo-shoot rolls. Filipino lumpia also has several forms, including fried rolls and fresh versions. Ingredients, wrapper size, sauces, and seasonings vary, so neither name points to one universal filling.

Can I use rice paper instead of wheat spring-roll wrappers?

Not as a direct swap for this method. Rice paper is softened with water and behaves differently when rolled and fried; it can become chewy or fragile in hot oil. Choose wheat spring-roll wrappers labeled for frying, and thaw frozen ones before separating. If only rice paper is available, follow a recipe designed specifically for rice-paper rolls instead.

Why did my lumpia open or leak while frying?

Common causes are a wrapper that was not sealed, a filling that was still warm or wet, or too much filling in each roll. Let the filling cool, keep the amount modest, fold the sides over the filling, and use flour paste on the last corner. Place each roll seam-side down while you finish wrapping, then lower it into the oil seam-side down.

Can I bake or air-fry lumpia?

Yes, but the result will not be quite the same as deep-fried lumpia. Brush or lightly spray the wrapped rolls with oil and bake at 425°F (220°C), turning once, until golden and crisp, often about 18 to 24 minutes depending on the wrappers and oven. In an air fryer, arrange them in one layer, lightly oil the surfaces, and cook around 375°F (190°C), turning once; check early because air fryers vary. Keep the filling fully cooked before wrapping.

Can I make the filling the day before?

Yes. Cool it promptly in a shallow container, refrigerate it within 2 hours, and use it within 3 days. Let the filling stay chilled until you are ready to wrap, then make sure the rolls are sealed before frying. The filling should be cool and not watery; if liquid gathers in the container, drain it before adding the filling to the wrappers.

What is kecap manis, and can I leave it out?

Kecap manis is thick, sweet Indonesian soy sauce that gives the filling its rounded sweetness and glossy coating. Regular soy sauce with a little brown sugar is a practical substitute, though it tastes less rich and is thinner. You can reduce the sugar in that substitute if you prefer a less sweet filling, but do not replace kecap manis with an equal amount of plain soy sauce without adjusting the seasoning.

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).