I first learned to make vegan Filipino spring rolls — lumpiang shanghai — when I was trying to recreate the crunchy, comforting rolls my aunt made for family parties. The first batch I made at home was messy: the wrappers tore, a few burst while frying, and the filling seemed soggy. After a few rounds of testing (and a lot of tasting), I landed on this version that consistently comes out golden, crisp, and packed with savory, slightly sweet flavor. The smell of garlic and toasted wrappers still brings me back to noisy holiday tables.

Vegan Filipino spring rolls are a plant-based take on lumpiang shanghai, a Filipino favorite especially during celebrations. Traditionally made with pork or beef, this vegan version uses a mix of vegetables and a plant-based ground “meat” so you keep the texture and savory punch without animal products. They’re great for parties, weeknight dinners, or whenever you want a crunchy snack that’s comforting and shareable.
Ingredients You’ll Need
- Flax egg – binds the filling and keeps it moist without eggs; works like an egg replacer when mixed and rested.
- Water chestnuts – add a pleasant crunch that contrasts the soft filling.
- Green onions – bring freshness and a mild oniony bite.
- Carrot – for sweetness, color, and texture; grate or process finely so it cooks through.
- Nori – tiny torn pieces add umami and a hint of savory sea flavor; optional but lovely.
- Garlic – fragrant backbone of the filling; sautée or process raw depending on your preference.
- Plant-based ground beef – provides meaty texture; tempeh, crumbled tofu, or mushrooms are good swaps.
- Soy sauce (or tamari) – adds salt and depth; use tamari for gluten-free.
- Salt & pepper – to season and balance flavors.
- Lumpia or spring roll wrappers – the vehicle for crunch; rice paper can substitute for gluten-free options.
- Oil for frying – neutral oil with a high smoke point for deep-frying; brush or spray oil if air-frying.
- Dipping sauces – sweet and sour, banana ketchup, peanut, or vinegar-garlic for serving; choose contrast.
Below I also include the exact ingredient amounts and the full recipe so you can follow the quantities I used during testing.
Full ingredient list (exact amounts used)
- 2 flax eggs (2 tablespoons flaxseed meal + 6 tablespoons water)
- 1 (8 oz) can water chestnuts, drained
- 1/2 cup green onions, roughly chopped
- 1 large carrot, roughly chopped
- 1 sheet of nori, torn into small pieces
- 4 cloves fresh garlic
- 1 pack (3/4 lb.) plant-based ground beef (Impossible or similar)
- 1 tablespoon soy sauce (or tamari)
- 1/4 teaspoon salt
- 1/4 teaspoon pepper
- Lumpia or spring roll wrappers (about 5 1/2-inch squares)
- Oil, for frying
- Serving: dipping sauces of choice such as sweet and sour, banana ketchup or garlic and vinegar
Step-by-Step Instructions
I always say that mise en place saves your sanity with lumpia — prep everything first. Here is how I make a batch that yields about 50 lumpia, plus tips from my kitchen trials.
- Thaw wrappers if frozen. Stacking stubborn cold wrappers is what caused my first torn-lumpia disaster; thaw them the night before or follow package directions and keep them covered with a damp cloth while you work.
- Make the flax egg: combine flaxseed meal with water and let it rest 15 minutes until thick and gel-like. This helps bind the filling and keeps the texture moist without adding extra liquid.
- In a food processor, pulse the water chestnuts, green onions, carrot, nori, and garlic until everything is very finely chopped. I like a uniform texture so the filling doesn’t separate and so it cooks evenly inside the wrapper. Tip: pulse and scrape the bowl instead of running continuously so you don’t puree it into mush.
- Transfer that mixture to a large bowl. Add the plant-based ground, soy sauce, salt, pepper, and the flax egg. Mix well until evenly combined. If the mix feels too wet, add a small handful of panko or a few tablespoons of oat flour — though I rarely need it with the brands I use. If it feels dry, a teaspoon of water or a splash of soy sauce helps.
- Prepare frying oil: fill a heavy pot 2–3 inches deep with neutral oil and heat to 350°F. If you don’t have a thermometer, set the burner to medium-low to start and test with one roll. Starting too hot made my first batch char on the outside but stay pale inside — patience here pays off.
- Keep a small cup of water nearby. Place one wrapper square onto a clean surface with the edge facing you (square-side down). Spoon about 1 1/2 tablespoons of filling about half an inch from the bottom edge, spread into a line, fold the bottom edge up over the filling, tuck tightly and roll like a cigar. Use water on the top edge to seal. If the wrapper tears, pinch the tear closed and wet more of the wrapper to reseal; small tears usually seal fine once wet.
- Line a platter with paper towels to drain fried lumpia. Test the oil by frying one roll: it should turn golden in about 4–5 minutes. If it browns in under 2 minutes it’s too hot; if it takes much longer than 6 minutes, raise the heat slightly.
- Work in batches of 5–8 so the oil temperature stays steady. Fry 4–5 minutes per batch until evenly golden brown. Remove with a slotted spoon and drain. The rolls should be crisp on the outside and hot with a slightly springy interior. If you taste a raw starchy note, the oil was too cold or the filling pieces were too large.
- Serve immediately with your chosen dipping sauces. Leftovers re-crisp nicely in the air fryer or oven.
Cooking Methods: Frying vs. Air Frying
I’ve cooked these both ways. Deep-frying gives the classic, blistered, completely-evenly-golden exterior and a very thin crisp shell. Air-frying is a healthier alternative that still yields a great crunch if you prep properly.
- Deep-frying (traditional) – Heat oil to 350°F (175°C). Fry 4–5 minutes per batch until golden. Pros: unbeatable texture and that characteristic blistered crust. Cons: more oil, more stirring and attention required. Tip: keep a thermometer handy — a single cold batch cools the oil and produces soggy rolls.
- Air-frying (healthier) – Preheat to 375°F (190°C). Lightly brush or spray the rolls with oil. Air-fry 10–12 minutes, flipping halfway, until evenly golden and crisp. Pros: less oil, easier cleanup. Cons: slightly drier interior and a more uniform golden look rather than cracked blistering. If cooking from frozen, add a few minutes.
What goes wrong: soggy lumpia usually means the oil was too cool, the filling was too wet, or you overcrowded the fryer. Fixes: ensure the filling is drained and cool, keep batches small, or raise the oil temperature in small increments. For air frying, don’t skip the light oil brushing — it encourages browning.
Tips for Perfect Lumpiang Shanghai
I’ve tested this recipe over many batches; these are the lessons my kitchen taught me.
- Don’t overfill the wrappers — use about a tablespoon to 1 1/2 tablespoons of filling for smaller wrappers. Overfilling leads to burst rolls.
- Cool the filling before wrapping. Warm filling softens the wrapper and makes sealing harder; it can also steam inside and make them soggy.
- Seal with water, not flour paste. Water works quickly and gives a clean seal without extra taste.
- Use a thermometer for frying. It saves you from guesswork; correct oil temp gives a crisp texture without absorbing too much oil.
- If wrappers stick, separate them with a damp towel and peel gently. If yours dry out, lightly brush with water to restore pliability.
- If you want extra-crisp wrappers, try double-frying: fry for a couple minutes, drain, then fry again briefly until deeply golden. For techniques on getting extra-crispy wrappers and frying tips you can adapt for a vegan filling, see our crispy lumpia recipe.
Serving Suggestions and Dipping Sauces
These rolls are happiest shared. Serve them hot on a platter with an assortment of dips and a few simple sides like pickled vegetables or steamed rice. They also travel well — if you’re bringing them to a party, place them on paper towels to avoid sogginess.
Try a bright, fruity dip by serving your spring rolls with our tangy sweet chili pineapple sauce.
For a cool, herby contrast to fried rolls, consider pairing them with this quick healthy tzatziki sauce.
Serve your vegan lumpia as part of a platter with flavorful sides like our zesty cilantro lime rice.
Sweet & Sour Dipping Sauce
- Sweetness from sugar or pineapple preserves, acidity from vinegar, soy for depth — simmer until glossy and slightly thick. I reduce it until it coats the back of a spoon so it clings to the roll.
Peanut Dipping Sauce
- A mix of creamy peanut butter, a splash of soy or tamari, lime juice, a touch of sweetener, and water to thin. Warm it briefly so the oils loosen and the flavors meld. Taste and add lime or tamari to balance.
Garlic & Vinegar Dip
- Simple: minced garlic, cane or palm vinegar, a pinch of salt, and a little crushed pepper. It cuts through the fried richness and brightens every bite.
When I serve these, I usually have at least two sauces — one sweet and one acidic — so guests can switch between sticky and tangy. The contrast makes them addictive.
Nutritional Information
The exact nutrition depends on the brand of plant-based ground used, the wrapper type, and whether you deep-fry or air-fry. The original recipe does not include lab-tested nutrition values. As a practical guide: plant-forward lumpia are rich in vegetables, provide a moderate amount of plant protein from the meat substitute, and are higher in fat and calories when deep-fried versus air-fried.
If you want to reduce calories: air-fry instead of deep-fry, use less oil for brushing, and choose lower-fat plant-based proteins like pressed tofu or lentils. For gluten-free diets, swap in rice paper wrappers and tamari.
Cultural Significance of Lumpiang Shanghai
Lumpiang shanghai is a beloved Filipino party food — bite-sized, easy to share, and often the first thing to disappear from the table. It evolved from Chinese spring rolls but has been thoroughly Filipinized: sweeter, a touch garlicky, and often paired with banana ketchup or spiced vinegar. In many Filipino households, making lumpia is a communal activity; I remember my first folding session with cousins, trading tips on how tight to roll them and which dipping sauce was best. Turning this into a vegan version keeps that tradition alive for plant-based guests while preserving texture and the spirit of sharing.
Variations and Substitutes
I regularly tweak fillings based on what I have on hand:
- Mushroom-forward – Chop cremini or shiitake finely and mix with carrots and water chestnuts for a meaty, umami-heavy filling.
- Tofu or tempeh – Crumbled, pressed tofu or finely chopped tempeh works when well-seasoned; press tofu to remove moisture so the filling isn’t soggy.
- Lentil or quinoa – Cooked lentils or quinoa give protein and a slightly different texture; bind with flax egg.
- Gluten-free wrappers – Rice paper or certified gluten-free wrappers; swap soy sauce for tamari.
- Cheesy vegan – A small amount of vegan cheese can add richness, but use sparingly to avoid oily leaks.
FAQ
Can I air fry these instead of deep frying?
Yes — air fry at 375°F (190°C) for about 10–12 minutes, lightly brushing or spraying the rolls with oil and flipping halfway, until golden and crispy. If cooking from frozen, add a few extra minutes.
How can I make these lumpia gluten-free?
Use rice paper wrappers or certified gluten-free spring roll wrappers and swap soy sauce for tamari or a gluten-free soy alternative. Also check any vegan meat substitute labels for wheat ingredients.
How do I store, freeze, and reheat leftover lumpia?
Refrigerate cooked lumpia in an airtight container for 3-4 days. Freeze uncooked or cooked lumpia (flash-freeze on a tray, then bag) for up to 3 months. Reheat in an air fryer at 350°F for 5-8 minutes or in a 350°F oven for about 10 minutes until crisp.
What can I use instead of Impossible plant-based ground beef?
Good substitutes: crumbled firm tofu (pressed), chopped mushrooms, tempeh, lentils, or other plant-based ground blends. Season well and adjust moisture so the filling isn’t soggy.
How do I prevent soggy lumpia?
Make sure fillings are well-drained and not too wet (drain/press tofu, drain water chestnuts), cool the filling before wrapping, don’t overfill wrappers, and fry/air-fry at the correct temperature so they crisp quickly.
Making vegan lumpia has become my go-to for gatherings — they’re forgiving, sharable, and taste of home. If something goes wrong, don’t be discouraged: most issues (tearing wrappers, soggy centers, uneven browning) are fixable with a tweak to technique. Try a small test batch before serving to a crowd and adjust seasoning to taste. Happy rolling and even happier eating!

Vegan Filipino Spring Rolls Recipe (Lumpiang Shanghai)
Ingredients
Equipment
Method
- Thaw wrappers according to the package directions if frozen.
- Prepare the flax egg by mixing flaxseed meal and water in a small bowl, set aside for 15 minutes.
- In a large food processor, process water chestnuts, green onions, carrot, nori, and garlic until finely chopped.
- Transfer mixture to a bowl, add ground beef, soy sauce, salt, pepper, and flax egg, mix well.
- Heat oil in a pot to 350°F (medium-low heat), start low and adjust.
- Take a wrapper, place filling and roll tightly, wet the ends with water to seal.
- Test oil with one lumpia, fry in batches until golden brown, about 4-5 minutes.
- Place fried lumpia on paper towels to drain excess oil, serve with dipping sauce.

