The banh mi is one of the world's great sandwiches. Not because of any single component - the baguette alone, the filling alone, the pickled vegetables alone would each be good in isolation. But because of the specific, layered contrast of all of them together: the crunch of the crusty baguette against the softness of the filling, the sharpness of the pickled Δα» chua against the richness of the pâté and mayo, the heat of fresh jalapeño against the cooling freshness of coriander and cucumber.
This contrast is what makes a banh mi a banh mi. And contrast, fortunately, has nothing to do with meat. Every textural and flavour element of the classic sandwich is present in this version - just translated into plant-based equivalents that produce the same experience.
The crispy tofu replaces the pork or chicken: pressed until dry, marinated in soy and sesame and ginger, pan-fried until golden on every surface. The Δα» chua - the pickled daikon and carrot - is exactly as it always is, because it was always vegan. The mayo is the aquafaba version from the Plant-Based Burger, seasoned with sriracha. The bread is the bread.
This recipe also appears in the Global Street Food collection - this is the plant-based version, with the full technique for the tofu and a vegan approach to every component. For the cultural history of banh mi and the full range of traditional fillings, see that post.
Tofu has three enemies in cooking: moisture (prevents browning), weak seasoning (produces blandness), and impatience (producing broken pieces rather than a cohesive slab). This recipe addresses all three.
Pressing: Firm tofu from the packet contains significant water held between the bean curd proteins. This water must be removed before cooking - it prevents browning (water evaporates before the surface gets hot enough for the Maillard reaction), dilutes the marinade (which sits on the surface rather than penetrating), and causes steam that softens the exterior rather than crisping it.
Press using one of:
Marinating: Pressed tofu is porous and absorbs marinade readily - 30 minutes produces a noticeably seasoned result; overnight produces tofu that is seasoned throughout rather than just at the surface.
Pan-frying: A very hot, well-oiled pan. No moving. 3-4 minutes per side until a golden-brown crust forms and releases cleanly from the pan. The crust is structural as well as flavourful - it is what allows the tofu to be sliced and assembled without crumbling.
Serves 4 | Active time: 25 minutes | Pressing: 30 minutes | Marinating: 30 minutes - overnight
Note: Start the Δα» chua first - it needs at least 30 minutes to develop (overnight is better). See the Banh Mi recipe in the Street Food collection for the complete cultural context and variations.
Combine rice vinegar, sugar, salt, and water in a bowl, stirring until the sugar and salt dissolve. Add the daikon and carrot matchsticks. Toss to coat and leave for at least 30 minutes, stirring occasionally. The vegetables will soften slightly, turn slightly translucent, and develop a sharp, sweet, fermented-adjacent flavour.
For an overnight pickle: transfer to a sealed jar and refrigerate. The Δα» chua keeps for up to 2 weeks refrigerated and improves with time.
Press the firm tofu (see techniques above) until most surface and internal moisture is removed. Cut into 1cm slabs - 4-6 slabs per block depending on size.
Combine soy sauce, sesame oil, rice vinegar, neutral oil, ginger, garlic, and maple syrup in a shallow dish. Add the tofu slabs in a single layer. Spoon marinade over to coat. Leave to marinate for a minimum of 30 minutes, turning once halfway. Overnight in the refrigerator produces the best result.
Remove the tofu from the marinade, reserving the marinade. Pat the tofu surfaces gently with a paper towel - slightly drying the surface before frying improves browning.
Heat 2 tbsp of neutral oil in a cast iron skillet or heavy non-stick pan over high heat until shimmering. Add the tofu slabs in a single layer. Do not move them. Cook for 3-4 minutes until the base is deeply golden-brown and releases cleanly from the pan.
Flip and cook for 3 more minutes on the second side.
Pour the reserved marinade into the pan. It will sizzle immediately and begin to caramelise against the hot pan and the tofu surface. Toss the tofu in the caramelising marinade for 60-90 seconds until it is glazed and sticky. Remove from heat.
The tofu should now be: golden-brown on all surfaces, slightly glazed from the caramelised marinade, fragrant with soy, ginger, and sesame.
Combine the vegan mayo with sriracha and lime juice. Taste - it should be creamy, spicy, and bright. Adjust the sriracha to your heat preference.
The bread is critical in banh mi. The ideal is a fresh Vietnamese-style baguette (lighter, crispier exterior, slightly more airy interior than a French baguette) if available. A good French baguette is an excellent substitute. The bread should be:
The interior preparation: Slice the baguette lengthways, not cutting through completely - leave a hinge at the back. Pull out a little of the soft interior bread from both sides, creating a slight hollow that holds the filling without the sandwich being too thick to bite.
Optional: toast - place the open baguette cut-side down in a dry pan over medium heat for 60 seconds, or under the grill for 2 minutes. This re-crisps the crust if it has softened.
Work quickly - the tofu should still be warm when assembled.
The build (bottom to top, on the base of the baguette):
| Element | Function in the Sandwich |
|---|---|
| Crispy tofu | Rich, savoury, meaty protein centre |
| Sriracha mayo | Creaminess and heat that binds everything together |
| Δα» chua | Sharp, sweet acidity that cuts through the richness |
| Cucumber | Cooling freshness and additional crunch |
| Jalapeño | Fresh heat (different from the cooked heat of sriracha) |
| Coriander | Herbal freshness that lifts every other element |
| Baguette crust | Structural crunch; the defining textural element |
Remove any one of these and the sandwich loses something specific. The complete build is the point.
Δα» chua: Make 1-3 days ahead. It improves significantly with time.
Tofu (marinated, uncooked): Marinate overnight in the fridge. Cook fresh immediately before assembly - the crust is at its best within minutes of leaving the pan.
Tofu (cooked): Can be made 2-3 hours ahead and reheated in a 180°C oven for 8 minutes or in a dry pan over medium heat. Loses some crispiness; still excellent.
Assembled sandwich: Banh mi does not keep well assembled - the bread softens quickly from the moisture of the fillings. Assemble immediately before eating, or pack the components separately for transport.
Replace fresh firm tofu with shop-bought smoked tofu - skip the marinade (smoked tofu is already seasoned) and simply pan-fry until golden. The smoky character adds a depth that is particularly good with the pickled daikon's sharpness.
Replace the tofu with 300g of king oyster mushrooms, sliced into 1cm planks, marinated in the same soy-sesame marinade and pan-fried over high heat until golden. King oyster mushrooms develop a seafood-like texture when properly seared - particularly good in banh mi.
Replace tofu with tempeh - fermented soy, with a more complex, slightly nutty flavour and firmer texture. Use the same marinade; the tempeh absorbs it deeply. Tempeh's fermentation also adds a slight tang that complements the Δα» chua beautifully.
Common Mistake: Using Silken or Soft Tofu Silken tofu and soft tofu have a completely different structure from firm tofu - they contain far more water and far less protein structure. They cannot be pressed, cannot be marinated effectively, and disintegrate when pan-fried. Only firm or extra-firm tofu works for this application. Check the label: look for "firm" or "extra-firm." If in doubt, buy the type in a vacuum-sealed block rather than water-packed - vacuum-sealed firm tofu has less excess moisture and produces better results.
Asian grocery stores carry daikon reliably and affordably. Large supermarkets with good produce sections (Sainsbury's, Waitrose, Tesco) increasingly carry it. Farmers markets in autumn and winter sometimes have it. If completely unavailable, substitute with thinly sliced regular radish - the pickle is different but functions similarly.
A soft, pillowy bread (ciabatta, focaccia) misses the structural point - the crunch of the baguette crust is fundamental. A good hoagie or sub roll is an acceptable substitute. Gluten-free baguettes work but are rarely crusty enough - look for gluten-free bread with a crust rather than a soft roll.
Replace the baguette with a gluten-free option (difficult to get a crusty equivalent). Use tamari instead of soy sauce in the marinade. Ensure the sriracha and any other condiments are gluten-free (most are). The result is achievable but the bread substitution is the challenge.
π Continue Cooking
- The Ultimate Plant-Based Burger
- Pulled Jackfruit Tacos with Chipotle Sauce
- Vietnamese Bánh Mì: The Street Food Sandwich That Has Everything - full cultural history
- The Plant-Based Comfort Food Toolkit
- How to Make Cashew Cream: The Dairy-Free Base for Everything
- Plant-Based Comfort Food: The Ultimate Guide