Banh Xeo

Banh Xeo
⏱️ cook time 45 minutes
🍽️ servings 4
⚡ Difficulty medium

intro

Shatteringly crisp coconut rice crepes stuffed with pork, shrimp, and bean sprouts, served with fresh herbs and tangy nuoc cham for wrapping and dipping.

Ingredients

Rice flour 200g (1.5 cups)
Unsweetened coconut milk 180ml (3/4 cup)
Cold water 240ml (1 cup)
Ground turmeric 1 tsp (3g)
Fine sea salt 1/2 tsp (2.5g)
Thinly sliced pork shoulder 150g (5 oz)
Medium shrimp 150g (5 oz, peeled, deveined, halved lengthwise)
Small yellow onion 100g (1 small, thinly sliced)
Fresh bean sprouts 200g (2 cups, rinsed, thoroughly patted dry)
Scallions 30g (2 stalks, thinly sliced, green and white parts separated)
Neutral cooking oil 60ml (1/4 cup, canola or rice bran)
Mixed fresh herb platter 200g (4 cups, mint, cilantro, perilla, lettuce leaves, for serving)
Prepared nuoc cham dipping sauce 120ml (1/2 cup, for serving)

Steps

1

Mix the crepe batter

In a large mixing bowl, whisk together 200g rice flour, 1 tsp ground turmeric, 1/2 tsp fine sea salt, 180ml unsweetened coconut milk, 240ml cold water, and sliced scallion whites until completely smooth with no visible lumps. Let the batter rest for 15 minutes at room temperature to allow the rice flour to fully hydrate, then stir in the sliced scallion greens right before cooking.

Step 1
step1:Mix the crepe batter
2

Prep filling components

Pat 150g sliced pork and 150g halved shrimp completely dry with paper towels to prevent oil splatter during cooking. Arrange the dried pork, shrimp, 100g sliced onion, and 200g patted-dry bean sprouts in separate small bowls within arm’s reach of the stovetop for fast, easy assembly.

Step 2
step2:Prep filling components
3

Sear initial fillings

Heat a 25cm (10-inch) nonstick or carbon steel skillet over medium-high heat (175°C/350°F). Add 1 tsp (5ml) neutral cooking oil, then arrange 3-4 thin slices of pork, 3-4 shrimp halves, and 2 thin slices of yellow onion in a single layer across the pan. Sear for 45 seconds on the first side, then flip the pieces with tongs, cooking for another 30 seconds until the shrimp is just opaque pink and the pork is lightly browned at the edges.

Step 3
step3:Sear initial fillings
4

Pour and cook crepe

Give the rested batter a quick stir to reincorporate any settled flour, then ladle 75ml (1/3 cup) of batter into the hot skillet, immediately swirling the pan in a circular motion to coat the entire bottom in a thin, even, lacy layer. Drizzle 1/2 tsp (2.5ml) oil around the outer edge of the crepe, then reduce heat to medium (150°C/300°F), cover the pan with a tight-fitting lid, and cook for 2 minutes until the crepe edges start to pull away from the pan and turn deep golden crisp.

Step 4
step4:Pour and cook crepe
5

Add sprouts and fold

Remove the lid, scatter 25g (1/4 cup) of the patted-dry bean sprouts over one half of the crepe. Re-cover the pan and cook for 1 additional minute to lightly wilt the sprouts without making them soggy, then run a thin silicone spatula around the crepe edge to loosen it, and fold the empty half over the filled side to create a neat half-moon shape. Slide the finished crepe onto a serving plate.

Step 5
step5:Add sprouts and fold
6

Repeat and serve hot

Lightly wipe the skillet with a folded paper towel to remove any burnt food bits between crepes, then repeat the cooking process with the remaining oil, batter, and fillings to make 8 total crepes (2 per serving). Serve immediately while the crepes are hot and crispy, alongside the fresh herb platter and 120ml nuoc cham dipping sauce, for diners to wrap pieces of crepe in lettuce and herbs before dipping.

Step 6
step6:Repeat and serve hot

Tips

1.Always pat all filling ingredients (especially bean sprouts and shrimp) completely dry with paper towels before cooking; excess moisture will turn the crepe soggy instead of shatteringly crisp.
2.Resist the urge to overfill the crepes—too much pork, shrimp, or sprouts will prevent the batter from crisping evenly and cause the crepe to tear when folding.
3.Wipe the skillet lightly with an oiled paper towel between each crepe to remove burnt bits and ensure the next crepe releases cleanly and develops a uniform crisp edge.

✨ You May Also Like

Main Course
🍜 United Kingdom

A showstopping classic of tender seared beef, savory mushroom duxelles, and crisp prosciutto wrapped in flaky golden puff pastry, baked to juicy perfection.

⏱️ 2 hours 1Main Course ★ 4.7
Main Course
🍜 India

Tender charred marinated chicken simmered in a rich, spiced creamy tomato sauce, this iconic Anglo-Indian curry pairs perfectly with basmati rice or warm naan.

⏱️ 50 minuteMain Course ★ 4.8
Main Course
🍜 Thailand

Classic tangy, sweet, and savory Thai stir-fried rice noodles with shrimp, tofu, and crunchy garnishes, balancing all five core Thai flavor profiles.

⏱️ 30 minuteMain Course ★ 4.6
Main Course
🍜 United Kingdom

Crispy golden beer-battered cod and fluffy double-fried chips, served with tangy tartar sauce and malt vinegar: the timeless, beloved British pub comfort classic.

⏱️ 45 minuteMain Course ★ 4.9
Main Course
🍜 Mexico

Smoky, chile-marinated pork tacos with caramelized pineapple, fresh cilantro, and lime: a beloved classic Mexican street food perfect for casual summer gatherings.

⏱️ 1 hour 45Main Course ★ 4.7
Main Course
🍜 United States

Crunchy Fritos corn chips layered with savory beef chili and melted cheddar, topped with cool, zesty fixings for a beloved, cozy Tex-Mex comfort food.

⏱️ 35 minuteMain Course ★ 4.9

Banh Xeo:Frequently Asked Questions

1.Why isn’t my banh xeo getting that signature shatteringly crisp texture?
That perfect crispness relies on three key moves: Use ice-cold water for the batter as the recipe specifies, and let the batter rest 30 minutes so rice flour hydrates evenly. Heat your cast iron or carbon steel pan until it smokes lightly before pouring an ultra-thin batter layer, and don’t cover the pan for more than 2 minutes—trapped steam will make crepes chewy.
2.Can I make the banh xeo batter ahead of time?
Absolutely! Mix the rice flour, coconut milk, turmeric, salt, and cold water, then store it tightly covered in the fridge for up to 3 days. Give it a thorough stir right before using, as rice flour will settle to the bottom. If it thickens while chilled, stir in 1-2 tablespoons of extra cold water to bring it back to a thin, heavy cream consistency.
3.What’s a good substitute if I don’t have unsweetened coconut milk?
For the closest flavor and texture, mix 1 cup full-fat unsweetened oat milk with 2 tablespoons melted unrefined coconut oil to match coconut milk’s richness. Skip sweetened coconut milk entirely—it will make crepes cloyingly sweet and ruin the savoriness—and avoid light coconut milk, which is too watery to form crisp edges.
4.Do I have to use pork and shrimp for the filling?
Not at all! Traditional banh xeo fillings are very flexible, so you can swap in thinly sliced chicken, crispy fried tofu, sautéed shiitake mushrooms, or even leftover cooked brisket for a fun twist. Keep the crunchy bean sprouts, cut any protein thin so it cooks fast as the crepe sets, and don’t overstuff—too much filling weighs down the shell and breaks it.
5.Why is my banh xeo a harsh, bright yellow instead of a soft golden hue?
That almost always happens when you add too much ground turmeric. A little goes an extremely long way here: you only need ¼ to ½ teaspoon of turmeric per 1 cup of rice flour to get that signature warm gold. If you’ve already added too much, stir in an extra ¼ cup rice flour mixed with ¼ cup cold coconut milk to dilute it without ruining texture.
6.What fresh herbs and greens work best for serving banh xeo?
Stick to bright, crisp, aromatic herbs to cut through the rich, crispy crepe: Thai basil, cilantro, spearmint, perilla leaves, and thinly sliced cucumber are all classic picks. You’ll also want large, sturdy leaf lettuce or mustard green leaves to wrap cut crepe pieces in before dipping, so skip delicate greens that tear easily when wrapped.
7.How do I keep cooked banh xeo crisp while I make the whole batch?
Never stack cooked crepes directly on a plate—trapped steam will make them go soggy in minutes. Instead, set finished crepes on a wire rack set over a baking sheet in a 200°F oven as you work. The circulating warm air will keep them perfectly crisp for up to 30 minutes, so you can serve the whole batch warm and crunchy at the same time.
8.Is this banh xeo recipe naturally gluten-free?
It is! Traditional banh xeo uses rice flour instead of wheat flour for the crepe base, so the crepe itself is completely gluten-free as written. Just make sure to use a certified gluten-free fish sauce when mixing your nuoc cham dipping sauce, and double-check that your plain rice flour doesn’t have hidden wheat-based anti-caking agents added.

Comments (15)

2 days ago

OMG these turned out SO crispy! I’ve been intimidated to make banh xeo at home for years because restaurant versions always have that perfect shatter, but this recipe nailed it. My whole family fought over the last crepe at Sunday dinner. 10/10 would make again for our next potluck!

yesterday

Did you use regular rice flour or the branded banh xeo mix they sell at Asian markets? I’m trying to decide if I need to make a special trip!

2 hours ago

So glad your family loved them, Mia! To answer Jake’s question too—regular rice flour works perfectly as long as you add a little cornstarch and tapioca starch like the recipe calls for, no special mix required!

3 days ago

Quick question—can I make the batter ahead of time for meal prep? I want to prep Sunday to cook these quick on weeknights after work.

2 days ago

Great question! The batter actually gets better if you let it rest in the fridge for 1-2 days ahead of time—just give it a good stir before pouring, and you’ll get even crispier results!

1 week ago

Game changer. I added a little extra shrimp to mine because I’m a seafood fiend, and the crispy edge texture was unreal. My roommate thought I ordered takeout lol

5 days ago

I tried this last night and my crepes kept sticking to the pan! Did I do something wrong? I used a nonstick skillet but they still tore when I tried to fold them.

3 days ago

I’m sorry they stuck! The most common culprit is not letting the pan get hot enough before pouring the batter, and making sure you use a thin layer of oil to coat the pan each time. Try turning the heat up just a touch and waiting until the oil shimmers before adding batter next time!

2 weeks ago

Made these for my grandkids when they visited last weekend, and even my pickiest eater asked for seconds! I left out the bean sprouts for him since he hates crunchy veggies, and it still turned out delicious.

1 week ago

That’s such a good call for picky eaters! My son also refuses bean sprouts, I never thought to just leave them out instead of fighting him on it. Trying that next time!

5 days ago

Love that you adapted it for your grandkids, Jo! The fillings are totally customizable—we’ve had readers add sliced mushrooms, shredded chicken, even extra pork belly with great results.

yesterday

45 minute cook time was pretty spot on for me, though I did the first crepe a little lumpy while I got the hang of pouring the batter thin enough. Once I got the rhythm down it was smooth sailing. SO good with the nuoc cham dipping sauce.

30 minutes ago

Is there a gluten free swap for anyone who can’t have wheat? I noticed the recipe has a little all purpose flour, and my sister has celiac so I want to make these for her birthday dinner.

5 minutes ago

You can absolutely swap the all purpose flour for extra rice flour or a 1:1 gluten free all purpose blend with zero texture loss! Just make sure all your soy sauce in the dipping sauce is gluten free too (use tamari instead) and it’ll be totally safe for her.

1 week ago

Brought these to a neighborhood potluck last weekend and they were the first dish gone! Everyone was asking for the recipe, I felt like a rockstar. Only note is that they’re best fresh right off the pan, so I brought my portable burner to cook them on site.

5 days ago

Portable burner potluck hack is genius! I made the mistake of making mine ahead and bringing them in a tupperware once, they got soggy so fast. Definitely doing that next time.

3 days ago

That portable burner trick is such a pro move, Devon! They really do lose that crisp fast if they sit, so cooking them fresh for a crowd is 100% the way to go. So glad they were a hit!

2 hours ago

I grew up eating banh xeo in Houston’s Little Saigon, and this is hands down the closest home recipe I’ve ever tried to the ones my favorite spot serves. The coconut milk in the batter is *chef’s kiss* for that authentic rich flavor. Will be making this on repeat.

5 minutes ago

Wait, how thin are you supposed to pour the batter? My first couple came out really doughy and thick, not crispy at all. I think I used too much per crepe but I don’t want to use too little and have holes.

just now

You want to use about 1/4 cup of batter per 10-inch pan, swirling it fast to coat the bottom in a super thin layer before it sets. If you get small holes you can dab a tiny bit of extra batter to cover them, no stress! Thin = crispy, that’s the key.

3 days ago

Meal prep win! I cooked up a batch of these on Sunday, stored the crepes and fillings separate, and crisped them back up in the air fryer for 2 minutes at lunch all week. Worked way better than I thought it would for quick work from home lunches.

2 days ago

Wait air fryer trick?? I never would have thought of that! What temp did you use? I’ve been microwaving leftovers and they get so sad and chewy.

yesterday

375F! I lined the basket with parchment so they didn’t stick, and they got almost as crispy as when I first made them. Game changer for work lunches for sure!

yesterday

I don’t eat pork, so I swapped the pork belly for extra shrimp and thinly sliced tofu, and it was amazing! The batter flavor is so good on its own it doesn’t even matter what filling you use, honestly.

2 hours ago

Love that swap! Tofu is such a great vegetarian protein alternative here—press it first and pan fry it a little before adding it to the crepe for extra texture, it’s chef’s kiss.

just now

Took me a couple tries to get the batter swirl right, but once I did? *Chef’s kiss* That sizzle when you pour the batter on the hot oil is so satisfying, I felt like I was on a cooking show. My partner said it’s better than our local takeout spot, which is high praise.

2 days ago

Do you have to use coconut milk in the batter? I have a tree nut allergy so coconut is a no go for me, and I’ve been dying to make these.

yesterday

You can swap the coconut milk for full fat oat milk or even regular whole milk with a tiny splash of heavy cream to match the richness! It won’t have that subtle coconut note, but the texture will still be perfectly crispy, I promise.

5 days ago

Made these for my dad’s birthday since he’s from Saigon, and he got so nostalgic! He said the flavor was exactly like the street food he grew up eating, which made my whole week. The only thing I added was a little extra turmeric for color, just like he said his mom used to do.

3 days ago

That’s so sweet! My parents are also from southern Vietnam and I’ve been nervous to make banh xeo for them because I don’t think it’ll measure up to my mom’s. This gives me hope!

2 days ago

That makes my day to hear, Tony! Food that brings back family memories is what it’s all about. The extra turmeric is such a classic touch, I might add that note to the recipe next update!