I picked up my first banh mi from a tiny shop in Seattle’s International District about six years ago. The woman behind the counter barely spoke English, but she knew exactly what she was doing when she loaded that crispy baguette with layers of pork, pickled carrots, and cilantro. One bite and I understood why people line up for these sandwiches.
Banh mi is Vietnam’s gift to the sandwich world. It’s this perfect collision of French colonial influence (the baguette) and Vietnamese flavors (everything else). The bread is lighter and crispier than French baguettes, with a thin, shattering crust that doesn’t shred the roof of your mouth.
What makes banh mi special is the contrast. You’ve got warm, savory protein against cool, tangy pickled vegetables. Rich mayo or pate meets bright cilantro and spicy chilies. Every bite hits different notes.
This article is part of our comprehensive guide on Asian Cuisine. For more Vietnamese recipes and cooking tips, visit the full guide.

What Banh Mi Is Actually For
Banh mi started as street food in Saigon. Workers would grab one for breakfast or lunch because it was cheap, filling, and you could eat it while walking. That’s still pretty much how it works today.
I make these when I want something satisfying that doesn’t require sitting down with a fork and knife. They’re also great for using up leftover grilled pork or chicken. The pickled vegetables can sit in your fridge for weeks, so once you’ve got those ready, you’re basically 10 minutes away from a solid meal.
You can eat banh mi for any meal, honestly. I’ve had them for breakfast (especially with the egg and pate version), lunch, dinner, or as a late-night snack. They work.
How to Store Everything
The sandwich itself doesn’t store well once assembled. The bread gets soggy and loses that crispy texture that makes banh mi what it is. But the components keep great.
Pickled vegetables last 2-3 weeks in the fridge in an airtight container. The protein (whether it’s pork, chicken, or tofu) keeps for 3-4 days refrigerated. Just store everything separately and build the sandwich right before you eat it.
If you need to prep ahead, you can assemble the sandwich and wrap it tightly, but eat it within 2-3 hours max. Any longer and you’re looking at a soggy situation.
Ingredients
For the Pickled Vegetables (Do Chua):
- 1 large carrot, julienned
- 1 daikon radish, julienned (about 8 oz)
- 1/2 cup rice vinegar
- 1/2 cup water
- 2 tablespoons sugar
- 1 teaspoon salt
For the Sandwich:
- 1 Vietnamese baguette (or substitute French baguette)
- 8 oz protein of choice (grilled pork, chicken, tofu, or Vietnamese pork meatballs)
- 2 tablespoons mayonnaise
- 1 tablespoon soy sauce
- 1 tablespoon vegetable oil (for cooking protein)
- Fresh cilantro, roughly chopped
- 1-2 jalapeƱos, thinly sliced
- Cucumber, sliced thin
- Maggi seasoning or soy sauce (optional, for extra umami)

Instructions
Make the Pickled Vegetables First:
- Mix the rice vinegar, water, sugar, and salt in a bowl. Stir until the sugar dissolves.
- Add the julienned carrot and daikon. Press them down so they’re submerged. Let sit for at least 30 minutes. Longer is better, honestly. I usually make these the night before.
Prepare Your Protein:
- If using pork or chicken, slice it thin (about 1/4 inch). Mix soy sauce with a tiny bit of sugar and marinate for 15 minutes.
- Heat oil in a pan over medium-high heat. Cook the protein until it’s got some color and is cooked through. For pork, this takes about 3-4 minutes per side. Chicken is similar. If using tofu, press it first, then pan-fry until crispy.
Build the Sandwich:
- Slice your baguette lengthwise but don’t cut all the way through. You want a hinge.
- If the baguette has a lot of fluffy interior, pull some of it out. This makes room for the fillings and keeps the sandwich from being too bready.
- Spread mayo on both sides of the bread. Some people add pate here too. I skip it usually, but it’s traditional.
- Layer in your protein while it’s still warm.
- Drain the pickled vegetables (squeeze them a bit to get rid of excess liquid) and pile them on top of the protein.
- Add cucumber slices, cilantro, and jalapeƱos. If you’ve got Maggi seasoning, hit it with a few dashes.
- Close the sandwich and press down gently. Eat it right away.

A Few Things I’ve Learned
The baguette matters more than you’d think. Vietnamese baguettes are lighter and airier than French ones. Asian grocery stores usually have them. If you can’t find them, a regular French baguette works, but it’ll be denser.
Don’t skip the pickled vegetables. They’re what keeps the sandwich from being too heavy. The acidity cuts through the richness of the mayo and protein. I tried making banh mi without them once and it was just not the same.
For protein, grilled pork (specifically pork shoulder or pork chops marinated in lemongrass and fish sauce) is traditional. But I’ve used leftover Korean bulgogi before and it worked great. Chinese char siu would be good too.
Cilantro is non-negotiable for me, but I know some people hate it. If that’s you, try Thai basil instead. It’s different but still gives you that fresh, herbal note.
The jalapeƱos add heat, but they’re optional. I like one pepper’s worth of slices. My husband wants the whole pepper. Adjust to your preference.
If you’re vegetarian, the tofu version is legit. Press your tofu well, marinate it in soy sauce with a bit of sugar and garlic, then fry it until the edges are crispy. You can also use Vietnamese seasoned tofu if your Asian market has it.
One more thing: banh mi is best eaten fresh. The contrast between the warm protein and cool pickles, with that crispy bread, is the whole point. Once everything sits together too long, it turns into a different (and honestly less exciting) sandwich.
For more authentic Asian street food recipes, check out our guide on Thai Pad Kra Pao or Vietnamese Pho Ga.
Vietnamese Banh Mi Sandwich
Crispy baguette filled with pickled vegetables and savory protein
Ingredients
For the Pickled Vegetables (Do Chua):
- 1 large carrot, julienned
- 1 daikon radish, julienned (about 8 oz)
- 1/2 cup rice vinegar
- 1/2 cup water
- 2 tablespoons sugar
- 1 teaspoon salt
For the Sandwich:
- 2 Vietnamese baguettes (or French baguettes)
- 8 oz protein (grilled pork, chicken, tofu, or Vietnamese meatballs)
- 2 tablespoons mayonnaise
- 1 tablespoon soy sauce
- 1 tablespoon vegetable oil
- Fresh cilantro, roughly chopped
- 1-2 jalapeƱos, thinly sliced
- Cucumber, sliced thin
- Maggi seasoning or soy sauce (optional)
Instructions
- Make the pickle brine. Mix the rice vinegar, water, sugar, and salt in a bowl. Stir until the sugar dissolves completely.
- Pickle the vegetables. Add the julienned carrot and daikon. Press them down so they’re submerged. Let sit for at least 30 minutes. For best flavor, make these the night before.
- Marinate the protein. Slice your pork or chicken thin (about 1/4 inch). Mix with soy sauce and a tiny bit of sugar. Let marinate for 15 minutes.
- Cook the protein. Heat oil in a pan over medium-high heat. Cook the protein for 3-4 minutes per side until it’s got some color and is cooked through. For tofu, press it first then fry until crispy.
- Prepare the bread. Slice your baguette lengthwise but don’t cut all the way through. Pull out some of the fluffy interior to make room for fillings.
- Assemble the sandwich. Spread mayo on both sides of the bread. Layer in your warm protein, then drain and squeeze the pickled vegetables before piling them on. Add cucumber slices, cilantro, and jalapeƱos. Hit it with Maggi seasoning if you’ve got it.
- Serve immediately. Close the sandwich, press down gently, and eat it right away while the bread is still crispy.
Nutrition Per Serving
Kitchen Notes
Finding Vietnamese Baguettes: Asian grocery stores usually stock them. They’re lighter and airier than French baguettes. If you can’t find them, regular French baguettes work but will be denser.
Pickled Vegetables: These are what make banh mi special. They cut through the richness and add tang. Don’t skip them. They’ll keep in your fridge for 2-3 weeks.
Protein Options: Traditional is grilled pork shoulder or pork chops marinated in lemongrass and fish sauce. But leftover grilled chicken, tofu, or even Korean bulgogi works great.
Assembly Timing: Build the sandwich right before eating. Once assembled, the bread starts to lose its crispy texture. If you must prep ahead, store all components separately and assemble within 2-3 hours max.
Cilantro Substitute: If you’re not a cilantro fan, try Thai basil instead for a different but still fresh herbal note.
