Crispy Lumpia Shanghai served with sweet chili sauce on a plate.

If you’re a fan of my Cantonese chicken egg rolls, you will love Lumpia Shanghai. Also known as Filipino spring rolls, they’re easy to make and worth all the effort. Each roll fries up beautifully light and crunchy, with a savory-sweet flavor that pairs perfectly with the tangy dipping sauce. I love preparing them for parties and special occasions, because they are perfect as a finger food and you can make them ahead of time.

What is Lumpia Shanghai

Also called Lumpiang Shanghai, it is a Filipino take on the classic egg roll, inspired by Chinese cooking and adapted through generations of Filipino home kitchens. The filling combines ground pork, carrots, celery, and onions, all wrapped in a thin crepe-like wrapper and deep-fried until golden.

Compared with Chinese spring rolls, Lumpia Shanghai rolls are typically thinner and longer, creating a crispier bite. The filling isn’t pre-cooked, which keeps the pork tender and juicy as it fries.

Ingredients

Lumpia Shanghai uses simple ingredients that are easy to find in any grocery store.

Filling ingredients

  • Ground pork: The main ingredient, creating the rich filling. Try to use a fatty mix if possible for a juicier texture.
  • Carrot, celery, and purple onion: They blend into the pork, creating a crisp texture contrast and adding flavor.
  • Garlic: The main aromatic for the filling.
  • Egg: It bends everything together, creating a juicy texture.
  • Soy sauce, salt and pepper: The simple seasoning brings out the flavor of the ingredients without overpowering the dish.
Lumpia Shanghai ingredients laid out in bowls on a dark table.

What type of wrapper to use

If you can’t find the Lumpia Shanghai wrappers, spring roll wrappers should be easier to find. I’ve seen them at ordinary grocery stores like Walmart and Whole Foods.

Spring roll pastry package

Chinese celery vs. regular celery

One word on Chinese celery. It has thin stems and the taste is slightly stronger than that of the fat stem celery you usually find in grocery stores. It is easier to chop and tastes slightly better, but you can totally use regular celery instead.

How to make

1. Prepare the filling
Finely chop the vegetables by hand or use a food processor for speed (just be careful not to over-blend). Combine the pork and vegetables in a large bowl with the seasonings. Stir in a circular motion until the mixture turns sticky. This helps it bind together when wrapping.

Ground pork and vegetable filling

2. Set up the wrapping station
Lay out your wrappers, the filling, a small bowl of beaten egg, and a tray for wrapped rolls. Keep the unused wrappers covered with a damp towel to prevent drying out.

Prepare the wrapping station

You will need a flat surface to wrap the lumpia, a beaten egg to seal the wrappers, the filling, a tray for the wrapped lumpia, and a plate for the wrappers. I usually cover the wrappers with a few wet paper towels to prevent them from drying out.

Setup with egg roll wrappers and egg wash.

3. Wrap the rolls
Place 1 tablespoon of filling near the lower edge of a wrapper. Fold the bottom edge over the filling, then fold in both sides. Roll tightly toward the top and brush the edge with egg wash to seal.

Step-by-step folding process for wrapping Lumpia Shanghai rolls.

4. Fry until golden
Heat enough oil in a pan to fully submerge the rolls. Fry until golden brown and crisp, turning occasionally for even color. Drain on a rack or plate with paper towels.

umpia Shanghai frying in hot oil until golden and crisp.

Make ahead and freeze

You can wrap a large batch and freeze the uncooked rolls in a sealed bag for up to 2 months. Fry directly from frozen, no need to thaw.

Alternatively, you can also fry up all the lumpia and freeze them. To reheat, warm up in the air fryer until crispy and heated through. Or reheat frozen cooked rolls in the oven at 350°F (175°C) until hot and crisp.

How to Cook in an Air Fryer

Lumpia Shanghai can also be cooked in the air fryer, though the texture will differ slightly from deep-fried ones. Spray both sides of the rolls generously with oil, then air fry at 375°F (190°C) for 12–15 minutes, flipping halfway through. The crust will be firmer and less puffy than traditional deep frying, but still crispy and flavorful.

Serving Suggestions

Serve Lumpia Shanghai hot with sweet chili sauce, vinegar dipping sauce, or sweet-and-sour sauce (recipe below). It makes a perfect appetizer or snack and pairs beautifully with steamed rice or noodles for a full meal.

For gatherings, arrange the rolls on a platter with a few dipping sauces for variety—they’ll vanish quickly!

Frequently Asked Questions

Can I bake Lumpia Shanghai instead of frying?

Yes. Brush the rolls lightly with oil and bake at 400°F (200°C) for 20 to 25 minutes until golden, turning once halfway. Turn on convection if you have it, to help with crisping up.

What’s the best oil for frying?

Use neutral oils with a high smoke point, such as peanut, canola, or vegetable oil.

How do I keep the rolls crispy?

Cool them on a wire rack after frying so air circulates underneath and prevents sogginess. Avoid stacking while hot.

More delicious party food

Chinese Cooking Made Easy

Are you new to this website? This free email series is a great place to start. I’ll walk you through a few of my most popular recipes and show you how and why they work. You’ll quickly start to cook better Chinese food in your own kitchen.

Watch video

Close-up of Lumpia Shanghai cut open showing pork and vegetable filling.

Lumpia Shanghai (Filipino Spring Rolls)

5 from 7 votes
Prep Time: 45 minutes
Cook Time: 10 minutes
Servings: 12 servings (50 lumpia)
Lumpia Shanghai is a perfect appetizer and finger food for parties and festive dinners. These super crispy and crunchy egg rolls are packed with pork, carrots, celery, and onions and come with a sweet yet spicy dipping sauce that will have everyone sopping up every last morsel!

Ingredients 

Filling

  • 1 1/2 lbs ground pork (*Footnote 1)
  • 3/4 cup carrot , minced (about 1 carrot)
  • 3/4 cup onion , minced (about 1/2 red onion)
  • 1/2 cup Chinese celery , minced (about 3 stalks)
  • 6 cloves garlic , minced
  • 1 egg
  • 2 tablespoons soy sauce
  • 1 teaspoon salt
  • 1 1/2 teaspoon black pepper
  • 1/2 teaspoon sugar

Wrapping

  • 2 packs total lumpia wrappers (50 pieces in total) (or spring roll wrappers)
  • 1 egg , beaten, for egg wash
  • Oil for frying

Sweet and Sour Sauce

  • 1 tablespoon ketchup
  • 1 1/2 tablespoons hot sauce of your choice (I like to use Sriracha)
  • 1 teaspoon rice vinegar
  • 2 tablespoons sugar
  • 1/2 teaspoon chili flakes
  • 1/2 teaspoon cornstarch
  • 1/4 cup water

Instructions

Make the filling

  • Combine the filling ingredients in a big bowl. Use a spatula to mix it in a circular motion, until everything comes together and the pork feels elastic. It might take a few minutes to get this consistency.

Assemble

  • Place the lumpia wrappers on a plate and cover with a damp towel to prevent from drying out.
  • Take a wrapper and lay it in front of you with the pointed edge facing up. (*Footnote 2) Take a heaping tablespoon of filling and place it a few inches from the corner closest to you. Shape the filling into a 4 to 5″ (10 to 12 cm) strip. Fold the bottom corner over the filling, then fold the two side corners. Roll the filling parcel up so the folded edges are tucked in. Gently use your finger to press out any air bubbles and make sure the filling is sealed in tightly. Continue rolling up the filling until just before it is completely sealed. Dab the upper corner with a small amount of egg wash with your finger, then fold the filling over to finish wrapping the lumpia. Set aside. Repeat with the remaining filling and wrappers.

Storage

  • Once you wrap the lumpia, you can store them uncooked in a large Ziplock bag with as much air squeezed out as possible, for up to 3 months in the freezer.
  • To cook the frozen lumpia, cook them according to the instructions below without thawing. The cooking time will take slightly longer.

Cook (*Footnote 3)

  • Add the oil to a medium deep pan or pot so that it comes about 1″ (2.5cm) up. Heat over medium-high heat until it reaches 350°F (176°C).
  • Gently lower a few lumpia into the pan so they do not crowd the pan. Cook, flipping with a pair of tongs occasionally, until all sides turn golden brown, about 4 minutes total. Once the lumpia are cooked, transfer to a big plate or a tray topped with a wire rack to cool.
  • Combine all the sauce ingredients in a small pot. Bring to a gentle boil over medium heat. Stir constantly, until the sauce is thickened enough to coat the back of a spoon. Pour into a serving dish.
  • Serve the lumpia with the dipping sauce as an appetizer.
  • You can store the cooked lumpia as well and warm them up in a 400°F (200°C) oven until warmed through. The leftovers will be slightly chewy but still crispy.

Ingredient Substitution Guide

Notes

  1. Although you can use any type of ground pork, if you want a juicier and tenderer filling, you should use ground pork that contains a higher percentage of fat such as 30%.
  2. If you plan to use an air fryer to cook the lumpia, spray a generous amount of oil to both sides of the wrappers before wrapping.
  3. If cooking in an air fryer, set the temperature at 390°F (198°C) for 10 minutes, add the lumpia without overlapping, cook for 8 minutes per side.

Nutrition

Serving: 1serving, Calories: 95kcal, Carbohydrates: 14.2g, Protein: 4.8g, Fat: 1.7g, Saturated Fat: 0.3g, Cholesterol: 13mg, Sodium: 270mg, Potassium: 73mg, Fiber: 0.1g, Sugar: 1.2g, Calcium: 14mg

Did you make this recipe?

I’d love to hear how it turned out for you! Please take a moment to leave a 5-star rating ⭐️ and share your thoughts in the comments further down the page. It really helps others discover the recipe too.