Crispy Indonesian spring rolls stuffed with seasoned pork, shrimp, and vegetables — a beloved street food and celebration staple.
Lumpia are Indonesia's answer to the spring roll, introduced by Chinese immigrants to the Dutch East Indies centuries ago and transformed into something uniquely Indonesian. The filling typically combines ground pork or chicken with shrimp, bamboo shoots, and carrots, seasoned with garlic, soy sauce, and white pepper, then tightly wrapped in thin wheat-flour wrappers and deep-fried until the skin shatters with a satisfying crack. Lumpia Semarang — from the city of Semarang on Java — is the most famous variety, featuring bamboo shoots and the mildly sweet-savory filling that has made it a fixture at Lebaran celebrations and family gatherings alike. Served alongside sambal cabe rawit or sweet chili sauce, lumpia are as much about texture as flavor: the thin, lacquered shell gives way to a moist, aromatic interior that carries the umami of shrimp paste and the brightness of scallions.
Serves 6
Heat vegetable oil in a wok over high heat. Add garlic and stir-fry 30 seconds until fragrant. Add ground pork and cook 4 minutes, breaking it up. Add shrimp and cook 2 more minutes.
High heat is essential — you want stir-fry, not braise.
Add bamboo shoots and carrots to the wok. Stir-fry 3 minutes until just tender. Season with soy sauce, oyster sauce, sesame oil, white pepper, and sugar. Toss well.
Transfer filling to a strainer set over a bowl and let drain and cool completely, at least 20 minutes. Excess moisture will make the wrappers soggy and cause oil splatter.
Lay a wrapper diagonally. Place 2 tablespoons of filling in the lower third. Fold the bottom corner over the filling, then fold in both sides, and roll tightly upward. Seal the top corner with beaten egg.
Roll tightly — air pockets will make the lumpia burst open in the oil.
Pour oil into a wok or deep saucepan to a depth of 5 cm. Heat to 175°C. Test with a small piece of wrapper — it should sizzle and float immediately.
Fry lumpia 5–6 at a time for 4–5 minutes, turning occasionally, until deep golden and the wrapper is blistered and crisp. Drain on a wire rack.
Serve immediately with sweet chili sauce or sambal cabe rawit on the side. Add sliced scallions as garnish.
The filling must be completely cool and well-drained — wet filling turns wrappers translucent before they crisp.
Use Sari or Menara brand lumpia wrappers from Asian grocery stores; they're thinner than Vietnamese spring roll sheets and fry crisper.
Keep unfried rolls covered with a damp cloth to prevent wrappers from drying and cracking.
Lumpia basah (wet lumpia): skip the frying and serve the filling in a soft wrapper with peanut sauce.
Vegetarian version: replace pork and shrimp with firm tofu and glass noodles.
Semarang style: use more bamboo shoots and add a small amount of shrimp paste (terasi) to the filling.
Fried lumpia are best eaten immediately. Unfried rolled lumpia can be refrigerated up to 24 hours or frozen up to 1 month; fry from frozen, adding 2 extra minutes.
Lumpia arrived in Indonesia with Hokkien Chinese traders and immigrants during the Dutch colonial period, documented in Batavia (now Jakarta) by the 18th century. Lumpia Semarang emerged as its own distinct style in the Peranakan Chinese community of Semarang, Central Java, and remains the city's most celebrated culinary export.
Lumpia use a thinner wheat-flour wrapper that fries to a papery, blistered crunch, while egg rolls use a thicker, doughier wrapper that fries to a chewy crust. Lumpia filling is also more finely seasoned.
You can brush them with oil and bake at 200°C for 20 minutes, flipping halfway, but the wrapper will not get the same translucent shatter — frying is traditional and texturally superior.
Vietnamese spring roll wrappers (the wheat-flour type, not rice paper) are the closest substitute. Avoid egg roll wrappers as they're too thick.
Either the roll wasn't sealed tightly enough with egg wash, or the filling was too wet. Drain the filling thoroughly and make sure to press the seam firmly before frying.
Per serving (180g / 6.3 oz) · 6 servings total
Ask our AI cooking assistant anything about this recipe — substitutions, techniques, scaling.
Chat with AI Chef →Join the conversation
Sign in to leave a comment and save your favourite recipes
Have feedback or need help?
We read every email and reply within 1–2 business days.
© 2026 MyCookingCalendar. All rights reserved.