This vegan tofu bánh mì with spicy mayo and pickled veggies is easy to make at home for a vegetarian version of the classic Vietnamese sandwich.

A tofu bahn mi sandwich with spicy mayo and pickled veggies on a plate.

What is Banh Mi?

Bánh mì is a Vietnamese sandwich featuring meat, mayo, pickled vegetables, green onion, cilatantro, chilies and seasoning.

They’re popular, flavourful, satisfying and delicious and can be found in restaurants and from street vendors around the world.

This vegan version of the classic Vietnamese baguettes features marinated crispy baked tofu, spiced vegan mayo and pickled daikon, carrot and jalapeno for an ultra-flavourful combo you don’t be able to get enough of!

Give it a try – it just might become your new favourite sandwich (this tofu katsu would make a great sandwich too!). For more popular tofu recipes, this Curried Tofu and Avocado Mango Tofu Bowl Recipe are both deliciou.


All the ingredients needed for making a tofu bahn mi sandwich with spicy mayo and pickled carrot and daikon.
  • Tofu: Use extra firm tofu. It’s not totally necessary to press it before use but you can if you like to help remove excess water. You can also buy pre-pressed tofu, which is what I like to do!
  • Tamari: If you don’t have tamari, soy sauce works just fine.
  • Maple Syrup: This is used in the tofu marinade. An alternative would be agave syrup.
  • Sesame Oil: Use in the tofu marinade. For the best flavour and texture, I don’t recommend omitting the oil.
  • Sriracha: You can use Sriracha, sambel oelek or any chili garlic paste.
  • Lime: You’ll need 1-2 limes for the tofu marinade depending on how juicy they are.
  • Garlic Powder and Ground Ginger: I’d recommend using ground ginger and garlic powder so you don’t have chunks of garlic and ginger in the tofu marinade.
  • Pickled Veggies: The recipe calls for carrot, daikon radish and jalapeno. You can omit the jalapeno if you like. If you don’t have daikon, you can just use carrot but I recommend giving the daikon a try!
  • Sugar: You’ll need just a little sugar for the pickled veggies. You can use any granulated sugar like table sugar (some are not vegan) or cane sugar.
  • Vinegar: I used rice vinegar but apple cider vinegar or white vinegar would also work.
  • Mayo: For a vegan recipe, use your choice of vegan mayonnaise, otherwise, any mayo you like works. If you don’t like store-bought mayo, you can make my spicy mayo recipe.
  • Hoisin: Adds a little something to the spicy mayo! I’d recommend using it for the best flavour.
  • Baguette: Any baguette works. I used French, or Parisian, baguette. The recipe makes enough for 1 large baguette cut into quarters to make 4 sandwiches.
  • Toppings: I like cucumber, cilantro and green onion to finish it off.

This list is not complete. Please see the recipe card at the end of the post for the complete ingredient list with measurements and detailed instructions.

How to Make Tofu Banh Mi

Step 1: Make the marinated tofu.

Mix the marinade ingredients (tamari, lime juice, maple syrup, sesame oil and ginger) together in a shallow dish or Tupperware container.

I’d recommend using a Tupperware so you can shake to mix. Cut the tofu into ½-inch thick rectangular slices (to fit the baguette), then add to the marinade, flipping to coat.

Marinade for at least 30 minutes up to overnight in the fridge, turning occasionally.

Step 2: Make the pickled vegetables.

Pickled carrot, daikon and jalapeno in a glass bowl.
Cover the veggies in the pickling liquid.

Place the veggies in a heat-proof bowl. Add the water, vinegar, sugar and salt to a small pot and bring to a bowl to dissolve the sugar and salt. Pour the hot liquid over the veggies and stir to coat. Set them aside for 30 minutes to an hour.

Quick Tip: The pickled veggies store well in the fridge for 1-2 weeks so you can easily make them in advance.

Step 3: Make the spicy vegan mayo (banh mi sauce).

Homemade spicy mayonnaise in a small bowl with a spoon.
Stir the spicy mayo ingredients together until fully combined.

In a small bowl, mix togehter the mayo, hoisin, tamari and sriracha.

Notes: The spicy mayo also be stored in the fridge for up to 5 days so can be made in advance as well. Not a mayonnaise fan? Try my cashew-based spicy mayo instead.

Step 4: Make the tofu. Preheat the oven to 425 F and add the tofu on a parchment-lined baking tray. Arrange the tofu on the pan then spoon some of the remaining marinate over the slices, saving some for after baking.

Bake the tofu for 20-25 minutes until golden-brown. When the tofu comes out of the oven, spoon the remaining marinate over the slices.

Thick slices of baked tofu coated in marinade on a baking tray.
Spoon the reserved marinade to the tofu slices before and after baking.

Step 5: Assemble your banh mi.

If you’d like to toast the baguette, pop it in the oven for a few minutes until warm and toasty.

When ready to assemble, spread with spicy mayo, top with the tofu, pickled veggies, cucumber slices and cilantro. Enjoy your delicious sub!

Hand sprinkled cilantro over a tofu banh mi sandwich.

Recipe FAQs

Can I make this gluten-free?

You can but you’ll have to make a few substitutions:

use a gluten-free bun
use gluten-free tamari or coconut aminos and not soy sauce
• use a gluten-free hoisin sauce
(this exists but can be hard to find in local grocery stores- you can buy it online though!)

Can I make this with something other than tofu?

I think tofu works best here but tempeh or seitan would also work!

Notes & Tips

  • If you don’t like store-bought mayo, try this easy spicy cashew mayo recipe.
  • The bánh mì is delicious and filling on its own but it would also be amazing with this vermicelli salad on the side, though I’d skip the tofu on the salad if you’re serving it as a side dish.
  • If you don’t have daikon, you can just use carrot, or cut the cucumber into matchsticks and add it to the pickled veggie mix.
  • The jalapeno is optional but I think it makes a great addition so I’d suggest giving it a try, just make sure you remove the seeds otherwise it will be super spicy!
Tofu bahn mi sandwich with spicy mayo and pickled veggies on a plate.

Storing & Making Ahead

  • The pickled veggies store well in an airtight container in the fridge for up to 1 week.
  • The spicy mayo can be made up to 1 week in advance and stored in the fridge.
  • Marinate the the tofu overnight to save time.
  • The tofu can be baked ahead of time and stored up to 5 days but is best straight from the oven.
  • Use fresh baguette if possible and toast lightly in the oven just before making your sandwich.

Did you try this recipe? I’d love to hear about it! Scroll down to the comment section to leave a star rating and review.

Close up of a tofu bahn mi sandwich with spicy mayo and pickled veggies on a plate.
Print Recipe
5 from 1 vote

Vegan Tofu Banh Mi

You will love the flavours of this delicious vegan tofu bánh mì featuring marinated tofu with pickled carrots and daiko with a spicy banh mi sauce.
Prep Time30 minutes
Cook Time30 minutes
Course: Main Dish
Cuisine: Vietnamese
Diet: Vegan
Servings: 4
Calories: 427kcal
Author: Deryn Macey


For the Tofu Marinade

  • 1 lb extra-firm tofu drained and patted dry
  • 2 tbsp tamari 40 g
  • 1 tbsp maple syrup 20 g
  • 2 tsp sesame oil
  • 1 tsp sriracha
  • 2 tbsp lime juice
  • 1 tsp garlic powder
  • ½ tsp ground ginger

For the Pickled Vegetables

  • 1 carrot peeled then cut into thin matchsticks (2 cups/ 170 g)
  • 1 small daikon radish peeled, then cut into thin matchsticks (about 1.5 cups/120 g)
  • 1 jalapeno thinly sliced and seeds removed, optional (45 g/ ½ cup)
  • 2 tbsp sugar
  • 1 tsp salt
  • 1 cup water 240 ml
  • ½ cup rice vinegar 120 ml

For the Bahn Mi Sauce

  • ¼ cup vegan mayo 55 g
  • 2 tsp hoisin sauce
  • 1 tsp tamari
  • 1 tsp sriracha

For the Sandwiches

  • 1 French baguette cut into quarters and halved lengthwise, almost all the way through (leave a hinge)
  • ½ a cucumber thinly sliced
  • chopped fresh cilantro leaves
  • more sriracha if desired


  • Marinate Tofu: In a shallow dish or Tupperware, mix together tamari, lime juice, maple syrup, sesame oil, garlic and ginger.
  • Cut tofu into ½-inch thick rectangular slices, then add to the marinade. Flip tofu to fully coat. Marinade for at least 30 mins or in the fridge overnight, turning occasionally. Tip: Use a Tupperware with a lid, then you can just shake the Tupperware with the marinade and tofu.
  • Pickled Veggies: Place veggies in a heat-proof bowl. In a small pot, add water, vinegar, sugar and salt. Bring to a boil over high heat, to dissolve the sugar and salt.  When dissolved, remove from the heat and pour the hot pickling liquid over top of the veggies. Stir to coat.  Set aside for 30 min to 1 hour to pickle. Note: Leftover pickled veggies can be stored in a sealed jar in the fridge for 1-2 weeks.
  • Make Spicy Mayo: In a small bowl, combine mayo, hoisin, tamari, and sriracha.  Set aside until ready to assemble sandwiches. 
  • Cook Tofu: Preheat oven to 425 F. On a parchment-lined baking sheet, arrange tofu in a single layer, reserving the leftover marinade. Spoon some of the extra marinade over the slices and reserve the rest. Bake the tofu on the middle rack of the oven, for 20-25 min, until golden-brown. Remove from oven and spoon the remaining marinade over top of the baked tofu. 
  • Toast Baguette: If you want to warm your baguette before assembling, simply place on the top rack of your oven for 2-4 min, until warmed through and toasted and golden brown.
  • Build Your Banh Mi: Spread some of the spiced mayo over bottom buns, then top with tofu, a handful of pickled veggies, cucumber, fresh herbs, black pepper and more sriracha, if desired. Close with top buns and dig in!


Pickled Veggies, marinade and sauce can all be made ahead of time.


Serving: 1sandwich | Calories: 427kcal | Carbohydrates: 56g | Protein: 20g | Fat: 14g | Fiber: 5g