Lumpiang Shanghai (Filipino Egg Rolls)

A party favorite at Filipino gatherings and a crowd pleasing snack for all ages.

lumpiang shanghai

Rezel Kealoha

Why It Works

  • Using an egg wash to seal your lumpia prevents them from unraveling as they fry. 
  • Filling the lumpia with ground pork that has a higher percentage of fat guarantees moist lumpia.

Lumpia are Filipino egg roll-style snacks that can be prepared with any number of different kinds of fillings, both savory and sweet. Introduced by Chinese traders some time during the precolonial period (between 900-1565 AD), the name is derived from Hokkien, a language that originated in southeastern China: “lun” means wet, moist, or soft, and “pia” means cake or pastry. Since the word refers to a general category of food—pastry wrapped around fillings of some kind and fried—lumpia are often referred to as “lumpiang” along with some descriptor that indicates what’s been stuffed inside. Lumpiang sariwa, for example, is brimming with vegetables; lumpiang togue is stuffed with beansprouts; and lumpiang pancit is filled with noodles. However, that’s not always the case; turon, for example, is a sweet lumpia that’s stuffed with saba bananas and jackfruit.

The recipe below is for lumpiang Shanghai, one of the most popular types, which is stuffed with a highly seasoned pork and vegetable filling. (The name is a bit of a misnomer, since this dish didn’t come from Shanghai; rather, the name is simply indicative of its Southern Chinese origins.) Its popularity is pretty easy to explain, since it has a crispy, fried exterior, a juicy, meaty filling, and it works well with a variety of dipping sauces. Combined with its small size—you can easily hold a few in your hand—it’s the quintessential party appetizer. The one problem with lumpia Shanghai is they’re easy to fill up on. I’ve warned many folks about eating too many and being unable to enjoy all the other food that’s available.

Making lumpiang Shanghai is an act of love, which is another way of saying it’s fairly labor intensive and repetitive, an activity best split up between multiple people. My family would set up an assembly line: one person was designated the peeler, another the stuffer, and a third, the wrapper. The peeler’s job was to delicately detach each individual lumpia wrapper from a tall pile. The stuffer portioned the filling into each lumpia; a crucial job in which they carefully straddled the line between over- and under-stuffing. The wrapper, who typically had the most skill and experience since badly wrapped lumpia fall apart when fried, expertly wrapped each lumpia with the dexterity of an origami artist. I had the unfortunate job of being the peeler (a task commonly regulated to kids), which tested my patience and dexterity as a five year old. When the pile of torn lumpia wrappers was bigger than the pile of usable ones, I’d get kicked out of the kitchen.

In this recipe, I’ve taken some of the guesswork out of the wrapping process by providing an exact amount of filling for each lumpia. And while there’s no substitute for practice and experience, the directions for wrapping the lumpia should help you get started; you’ll find yourself wrapping perfect lumpia that fry up juicy and crisp in no time.

Oftentimes, lumpiang shanghai are accompanied by a selection of condiments for dipping, which can include banana ketchup and spiced coconut vinegar. I think that lumpiang Shanghai are best served with agre dulce sauce—a mix of brown sugar, vinegar, banana ketchup, and chiles—as I find that the sweetness and sourness complement the crispy fried shell and the meaty filling.

Recipe Facts

Prep: 60 mins
Cook: 20 mins
Total: 80 mins
Makes: 25 four-inch lumpia rolls

Rate & Comment


  • For the Dipping Sauce:
  • 6 tablespoons light brown sugar (3 ounces; 85g)
  • 3 tablespoons (45ml) cane vinegar (see note)
  • 1 tablespoon (15g) banana ketchup (see note)
  • 1 teaspoon (4g) Diamond Crystal kosher salt; for table salt, use half as much by volume or the same weight
  • 2 bird’s eye chiles, stemmed, seeded, and minced
  • For the Lumpia Rolls:
  • 1 1/4 pounds (565g) ground pork (at least 30% fat)
  • 2 small carrots (about 4 ounces; 115g), peeled and finely diced 
  • 1/2 medium red onion (about 4 ounces; 115g), finely diced
  • 7 medium garlic cloves, minced 
  • 3 tablespoons (45ml) soy sauce, preferably Filipino brands such as Silver Swan or Datu Puti
  • 1 tablespoon (15ml) fish sauce
  • 1 tablespoon (7g) freshly ground black pepper
  • Twenty five, 5-inch-square spring roll (lumpia) wrappers (see note)
  • 1 large egg, beaten
  • 2 cups (475ml) canola oil or other neutral oil for frying


  1. For the Dipping Sauce: In a small bowl, stir together sugar, vinegar, ketchup, salt, and chiles until well combined. Taste and adjust to your preference by adding more sugar, vinegar, ketchup, salt, and/or chiles incrementally (remember, we’re going for a balance of sweet and sour). Set aside.

    Dipping Sauce

    Rezel Kealoha

  2. For the Lumpia Rolls: In a large bowl, combine pork, carrots, onion, garlic, soy sauce, fish sauce, and pepper. Using clean hands or a spoon, mix until well combined.

    meat filling

    Rezel Kealoha

  3. On a work surface, position one spring roll wrapper so it resembles a diamond with a point facing you. Measure 1 1/2 tablespoons (28g) of filling, then, using your hands, shape into a 4-inch long cylinder, and place horizontally in the center of the wrapper.

    adding filling to wrapper

    Rezel Kealoha

  4. Starting with the point closest to you, fold the wrapper over the filling, tucking the point underneath the filling. Using your finger, moisten the left and right points of the wrapper with egg wash. Fold the left point towards the middle, fold the right point towards the middle, then roll tightly away from you, leaving about 1 inch of the top point exposed. Moisten the top point with egg wash, then finish rolling to seal. Repeat with remaining wrappers and filling.

    rolling lumpiang shanghai

    Rezel Kealoha

  5. Heat oven to 200°F (95°C). Set a wire rack in a rimmed baking sheet and line with a double layer of paper towels. In a wok, heat oil over high heat to 375°F (190°C). Working in batches of 5 lumpia at a time, fry lumpia, turning occasionally with tongs, until golden brown all over, about 3 minutes; adjust heat as needed to return to and then maintain a frying temperature of 375°F (190°C). Transfer fried lumpia to prepared wire rack, then transfer to oven to keep warm. Repeat with remaining lumpia.

    frying lumpiang shanghai

    Rezel Kealoha

  6. Slice lumpia in half crosswise on a bias, transfer to a plate, and serve with dipping sauce alongside.

Special equipment



Cane vinegar is the most common Filipino vinegar. It’s usually sold as white distilled vinegar (a spiced version, infused with onion, garlic, and chiles, is also available). You can find it in most Asian markets and online under the brands Datu Puti, Mama Sita, or Marca Pina. 

You can find banana ketchup at Filipino or Asian specialty markets and online. In a pinch, tomato ketchup is an acceptable substitute. 

Spring roll wrappers can be found at most Asian supermarkets. They are made with wheat flour and are often labeled as “spring roll pastry.” Chinese or Vietnamese wrappers will work as long as they are meant for frying. Do not use dried rice paper wrappers. If you cannot find square wrappers, round wrappers work well, too. To defrost the spring roll wrappers, transfer to the refrigerator the night before, or let them sit at room temperature for 30 minutes prior to using.

Make-ahead and Storage

The dipping sauce can be prepared ahead of time and refrigerated in an airtight container for up to 5 days. 

Uncooked lumpia can be frozen by arranging them side-by-side on a baking sheet, then sliding strips of parchment paper between adjacent rolls to prevent sticking. Freeze until firm, then transfer to a zipper-lock bag and store in the freezer for up to 3 months. Fry frozen lumpia from frozen (frying time may double to about 5 minutes).