A good spring roll is a thin, shattering flour wrapper stretched tight around a savory filling that has been cooked down until almost dry. Most of the spring rolls I have eaten out fail at one of two points: the wrapper is puffy and bready instead of crackling, or the filling is wet, which turns the inside of the roll soggy and dulls the crunch the moment it cools. The first is a shopping problem (buy the right wrapper). The second is a technique problem (cook the moisture out before you roll). This recipe solves both, and I will tell you exactly where I have failed and what fixed it.
These are the Cantonese-style chun juan you see stacked in dim sum carts and on Lunar New Year tables across the south, served alongside sticky rice in lotus leaf and steamed rice noodle rolls. They belong in any dim sum lineup worth ordering, and a tray of them is one of my favorite things to bring to a New Year gathering because the rolls can be assembled and frozen days ahead. For a meatless version built on the same rolling and frying logic, the vegetable and tofu spring rolls on this site use the same approach.
At a glance. The two things that decide everything: a thin 25×25 cm flour wrapper (not rice paper, not the thick egg-roll kind), and a filling driven down to almost no liquid before rolling. Fry at 180°C/350°F until deep gold, never pale blonde, then drain on paper. Count on 3 tablespoons of filling per roll and about 2 minutes of frying per batch.
What makes the wrapper right
There are three different products that get called spring roll wrappers in an American grocery store, and only one of them is what you want here. Rice paper rounds (the stiff, translucent discs from the Vietnamese aisle) are for fresh summer rolls, not frying; they will not blister and shatter the way a wheat wrapper does. Thick wheat "egg roll" wrappers, sold refrigerated in small square stacks, are doughy and heavy and never fully crisp. What you want is the frozen, paper-thin wheat flour pastry in 25×25 cm (10×10 in) sheets, usually labeled "spring roll pastry" and stocked in the freezer case of Chinese markets. They are pale, smooth, and almost translucent when held to the light, and they fry into a thousand blistered flakes.
Defrost them overnight in the fridge, never on the counter. Counter thawing leaves the center of the stack gummy and stuck together while the outer sheets dry out, and once they stick they are gone. Once thawed, peel the sheets apart one at a time and keep the unused stack under a barely damp cloth at all times; these sheets lose their flexibility in minutes and will crack along every fold line if you let them dry. I have thrown out more wrappers to drying-out than to any other cause.
Why a wet filling is the enemy of crunch
This is the part most recipes skip, and it is the whole game. A spring roll wrapper is a membrane. If the filling it touches is wet, that moisture migrates outward during frying, steaming the wrapper from the inside even as the oil crisps the outside. The result is a roll that looks golden and crackles when you bite it but goes limp in your hand within a minute. The fix is not to add less sauce. The fix is to cook the filling until it has almost no free liquid left, so that what you are wrapping is closer to a stiff stir-fry than a stew.
The classic filling uses pork and shrimp bulked out with vegetables and mung bean vermicelli. The vermicelli is doing two jobs at once: it gives the filling body without much weight, and it acts as a sponge, drinking up the seasoned juices that would otherwise weep out of the roll. Soak it soft, snip it short, and fold it in. If you want to lean on pork alone, Chinese BBQ pork diced small makes a fine substitute for the raw mince, though you will lose a little of the binding that raw pork gives the filling as it cooks.
Ingredients
Ingredients at a glance

Makes about 15 large rolls. Use a kitchen scale for the meat and vegetables; the wrapper and seasoning quantities are forgiving.
| Ingredient | Amount | Notes / substitute |
|---|---|---|
| Frozen spring roll pastry, 25×25 cm | 15 sheets | Thin wheat flour sheets, not rice paper, not thick egg-roll wrappers. Defrost overnight in the fridge. |
| Ground pork | 200 g (7 oz) | 80–85% lean. Ground chicken or beef work; pork binds best. |
| Shrimp, peeled | 120 g (4 oz) | Cut into small dice, not minced. Leave out and add more pork for a pork-only roll. |
| Carrot, grated | 120 g (about 2 cups) | Grate on the large holes of a box grater. |
| Bean sprouts | 130 g (about 2 cups) | Trim the tails if you like, but it is not necessary. |
| Chinese chives, cut into sections | 100 g (about 2 cups) | Sub finely shredded napa cabbage or scallion greens. |
| Shiitake mushrooms, sliced | 6, rehydrated if dried | Dried shiitake have more flavor; see the shiitake guide for rehydrating. |
| Scallions, finely chopped | 2 stalks | |
| Dried mung bean vermicelli, soaked and cut | 100 g (about 2 cups after soaking) | The sponge that keeps the filling dry. Do not skip. |
| Eggs | 2 | One whole egg plus one yolk go in the filling; the remaining white is not needed, the extra yolk is for sealing. |
| Oyster sauce | 2 tbsp | Hoisin mixed with a splash of light soy sauce in equal parts is a reasonable substitute. |
| Sesame oil | 1 tsp | Toasted Chinese sesame oil, added off the heat. |
| Salt | ½ tsp | |
| Sugar | ½ tsp | Balances the oyster sauce. |
| Ground white or black pepper | ¼ tsp | White pepper is traditional; black is fine. |
| Cooking oil for frying | About 1 liter | Enough for 3–4 cm depth in your pot. |
Dipping sauce (optional)
The rolls are good on their own, but a sharp dipping sauce cuts the richness. Whisk together 2 tbsp white rice vinegar (or lemon juice), 1 tsp light soy sauce, a pinch of sugar, 1 minced garlic clove, and finely chopped fresh chili to taste. If you keep a jar of homemade chili oil, a spoonful of that in place of the fresh chili is even better.
Method
- Cook the filling down until nearly dry. Heat a wide pan or well-seasoned wok over medium-high with a tablespoon of oil. Add the pork and break it up, then the shrimp, and cook until the meat has lost its raw color and any liquid it released has mostly evaporated. Add the carrot, mushrooms, and chives and stir until the vegetables soften and the pan looks dry, not soupy. Add the vermicelli, scallions, oyster sauce, salt, sugar, and pepper and toss for another minute. Off the heat, stir in the sesame oil and the whole egg plus one yolk (reserve the second yolk for sealing). The residual heat sets the egg and the vermicella soaks up the last of the seasoning. Spread the filling on a plate to cool to room temperature; warm filling softens and tears the wrappers.

Cook until the spatula leaves a clean path and no liquid runs back, then spread the filling wide and cool it completely before wrapping
- Roll tight, fold clean. Peel one wrapper onto a clean surface with a corner pointing at you. Put about 3 tablespoons of filling in a low rectangle just above that corner. Roll the corner over the filling and push gently backward to seat the filling against the dough, then roll to the halfway line. Press the ends of the filling in slightly to square it off, fold the left and right corners over the filling toward the middle to close the ends, and continue rolling until only a triangle of wrapper remains at the top. Brush the triangle with the reserved egg yolk and finish rolling to seal, seam down. The roll should be firm, with no air pocket running through the center; an air pocket holds steam that bursts the wrapper in the oil.

Keep the filling low and compact, pull the first turn snug, and push gently backward as you roll so no steam pocket remains inside
- Repeat under cover. Move the finished roll to a tray and cover loosely with a cloth or plastic. Keep going, keeping the unused wrappers and the finished rolls covered the whole time; an uncovered wrapper is a torn wrapper.

Brush only the final triangle with a thin, complete coat of yolk, finish the roll, and rest it seam down under cover
- Deep fry at 180°C/350°F. Heat the oil in a deep, heavy pot to 180°C/350°F on a thermometer. Slide in the rolls one at a time, seam down, no more than four at a time so the oil temperature does not crash. Fry, turning occasionally, until deep gold all over, about 2 minutes per batch. Pale blonde is underdone and will go limp as it cools; you want a wrapper the color of strong tea. Lift to a paper-lined tray.

Hold the oil at 180°C (350°F), fry in small batches, turn for even color, and lift the rolls only when the wrappers reach deep tea-gold
- Or air-fry. Preheat the air fryer to 200°C/390°F for 3 minutes. Brush the rolls all over with oil and arrange in a single layer on the crisper tray, leaving gaps. Cook 8–10 minutes, flip, and cook another 5 minutes until the same deep gold. The crust will be a little less blistered than the deep-fried version, and a touch more leathery; this is the honest trade-off, and I usually deep-fry when I want the rolls to be the centerpiece.

Brush every surface with oil, leave clear gaps in one layer, then flip after 8 to 10 minutes so both sides can brown
- Serve at once. Spring rolls are at their best in the first ten minutes. Serve whole or cut on the diagonal with the dipping sauce.

Serve the spring rolls warm within the first ten minutes, whole or cut diagonally, with the dipping sauce beside them so the wrappers stay crisp.
When things go wrong
The most common failures, and what each one is telling you:
- Wrapper blisters and splits in the oil. An air pocket was trapped inside, or the roll was not sealed. Roll tighter against the filling, and make sure the egg-yolk seal is on the very last triangle, seam down when it goes into the oil.
- Roll goes limp a minute after frying. The filling was too wet, or you pulled it out too pale. Cook the filling longer next time, and fry to a darker gold; color is the structure that holds the crunch as the roll cools.
- Oil foams and splatters violently when you add the rolls. Water is escaping through a tear or an unsealed seam. Blot any obviously torn roll and fry it last, alone. Splattering also means your oil is too hot; back the heat off and let it settle to 180°C/350°F before the next batch.
- Wrapper tears while you are rolling. It dried out, or the filling is still warm. Re-dampen the cloth over the stack, and let the filling cool fully.
- The roll is greasy. Either the oil temperature dropped too low (you crowded the pot), or the rolls sat in the oil after they were done. Fry in small batches, hold the oil at temperature, and drain immediately on paper.
- Inside is mushy and the shrimp rubbery. The shrimp was overcooked in the filling step before it ever reached the oil. Add the shrimp, cook just until it loses translucency, and pull the pan off the heat.
I will own one more: for years I tried to save time by skipping the vermicelli, and every batch was wetter and limper for it. The noodles are not filler. They are the moisture control. Leave them in.
Variations and what to serve alongside
The filling is a template, not a rule. Once you have the cook-it-dry logic, you can swap freely. Replace the shrimp with more pork, or fold in leftover diced char siu for a sweeter, deeper-flavored roll. A spoonful of Shaoxing rice wine on the pork lifts the whole filling. If you want a brighter, lighter roll, drop the meat entirely and lean on shredded vegetables and tofu; the vegetable version on this site walks through that. Chive-forward rolls, close cousins to pan-fried chive pockets, are worth trying once you have the fold down.
On the table, a plate of spring rolls plays well with lighter dishes that contrast the richness. A bowl of egg drop soup or a quick stir-fried green balances the fry. For a deeper-fried dim sum spread, pair them with crispy fried wontons and watch the room empty the tray fast.
Make ahead, freeze, reheat
Assembled, uncooked rolls freeze beautifully, which is why this is one of my favorite make-ahead foods. Arrange them in a single layer on a tray, freeze until solid, then transfer to an airtight bag for up to three months. Fry from frozen, do not thaw: raise the oil to 190°C/375°F and add a minute or so to the frying time. For the air fryer, add 3 to 5 minutes. To reheat already-cooked rolls and bring back the crunch, a 200°C/390°F oven for about 10 minutes or the air fryer for about 5 minutes beats the microwave every time; the microwave turns the wrapper to leather.
FAQ
Can I bake these instead of frying? Yes, with caveats. Bake at 220°C/425°F after brushing generously with oil, turning once, until deep gold. The crust will be closer to the air-fried result than the deep-fried one, less blistered and a little chewier.
Why is my filling wet even though I followed the recipe? Usually the pork or the vegetables released juice that never cooked off. Cook the pork until the pan is nearly dry before adding anything else, and do not cover the pan; you want evaporation, not steam.
Can I use rice paper wrappers? Not for this style. Rice paper is for fresh, unfried summer rolls. It will not produce the shattering, blistered crust that defines a fried spring roll.
How do I keep them from opening in the oil? Seal the final triangle with egg yolk and put each roll in seam down. A tight roll with no air pocket inside will hold its shape.



