Vegan Swaps

Vegan Mayo: The From-Scratch Recipe That Actually Works (Soy Milk Magic)

Nooralie Sam
Nooralie Sam
June 19, 2026 · 4 min read
A glass jar of thick, creamy homemade vegan mayo on a wooden board next to a lemon half and a small bottle of neutral oil Jump to recipe ↓
On this page+
  1. 01Why Regular Mayo Isn't Vegan
  2. 02What Makes the Soy Milk Version Actually Work
  3. 03The Immersion Blender Method (Don't Skip This Part)
  4. 04How to Fix a Broken Emulsion
  5. 05Store-Bought Options (For When You Don't Feel Like It)
  6. 06What to Do With It

I've made this probably fifty times now. And every single time, I still watch it happen with a slight sense of disbelief. You pour oil into soy milk, stick an immersion blender in there, and in about thirty seconds you have mayonnaise. Thick, glossy, tangy mayonnaise. From two liquid ingredients.

It shouldn't look like that. But it does. Jump to recipe if you just want the numbers.

Why Regular Mayo Isn't Vegan

Let's get this out of the way. Traditional mayo is egg yolks, oil, and acid (usually vinegar or lemon), blended until they form a stable emulsion. The egg yolk is the key player. It contains lecithin, a fatty substance that acts as an emulsifier, meaning it convinces water and oil to stop hating each other and merge into one cohesive thing.

No eggs. Not vegan. Simple as that.

Every major supermarket brand, Hellmann's, Duke's, Best Foods, Blue Plate, uses egg yolks. Some have "made with real eggs" right on the label like it's a selling point. For us it's just a no. So you've got two options: buy a plant-based brand or make it yourself. Both are valid. I do both, depending on whether I've been to the grocery store recently.

What Makes the Soy Milk Version Actually Work

Here's the thing I love about this recipe. You're not improvising or tricking anyone. Soy milk contains its own lecithin, naturally. The same emulsifying compound that's in egg yolks. So when you blend it with oil and an acid, the same chemistry happens. The lecithin molecules orient themselves between the oil and water phases and hold the whole thing together.

This is also why you can't just swap in oat milk or almond milk and expect the same result. They don't have enough lecithin. You'll get something thin and oily, not mayo. Soy is the one that works reliably, and it works well.

If soy is off the table for you, aquafaba is the other route. The liquid from a can of chickpeas has its own set of proteins that can pull off an emulsion. It's slightly looser and has a very faint beany edge, but it gets the job done. More on that in the recipe notes.

The Immersion Blender Method (Don't Skip This Part)

You can make this in a regular blender or a food processor, but the immersion blender method is faster, creates less cleanup, and produces a more consistent texture. The key is positioning.

Start with your soy milk, lemon juice, mustard, and salt in the bottom of a tall narrow jar. Pour all the oil on top. Don't mix it. Set your immersion blender down at the very bottom so it's touching the milk layer, not the oil.

Blend without moving it for about 20 seconds. You'll see white creaminess form around the blades. Then, slowly drag the blender upward. That's it. The emulsion chases the blender up through the oil layer and the whole jar turns into mayo. It's fast. It's almost violent in how quickly it happens. I've never gotten tired of watching it.

How to Fix a Broken Emulsion

It happens. Usually if your soy milk was too cold, or you moved the blender too fast before the emulsion had a chance to set. The result is a greasy, separated mess that looks nothing like mayo. Don't throw it out.

Get a fresh jar. Add a tablespoon of room-temperature soy milk and a tiny squeeze of lemon. Put your immersion blender at the bottom again. Slowly pour the broken batch in while blending, treating it like new oil. In most cases it comes back together. The fresh lecithin from the new soy milk acts as a reset.

If it's still not catching, add another tablespoon of soy milk and try once more. It's stubborn sometimes, but it's almost always salvageable.

Store-Bought Options (For When You Don't Feel Like It)

I'm not going to pretend I make this from scratch every single time. Some weeks the immersion blender is already dirty from something else and I just want to make a sandwich. A few brands are genuinely good.

Hellmann's Vegan and Best Foods Vegan are solid, widely available, and taste close to the original. Follow Your Heart Vegenaise has been around since before most vegan products existed and has a loyal following (it's a little tangier, which I like). Sir Kensington's Fabanaise uses aquafaba and has a lighter texture. All of these are egg-free and most are labeled vegan.

The from-scratch version wins on cost and freshness, but it's not always the right call. Use what works for your week.

What to Do With It

Honestly? Everything you'd do with regular mayo. It spreads exactly the same. It dollops into potato salad the same way. It's the base for vegan aioli (just blend in roasted garlic), tartar sauce, ranch dressing, and coleslaw dressing.

It's also worth saying: if you've been skeptical about vegan substitutes in general, this one is a genuinely good entry point. There's no "close but" here. It's mayo. It just doesn't have eggs in it.

One batch lasts me about a week and a half in the fridge, which tells you how much I use it. I keep a jar next to the vegan butter in the door. Essential condiment tier, no debate.

The recipe

Homemade Vegan Mayo

Prep

5 min

Total

5 min

Makes

1 cup (about 240 ml)

Ingredients

  • 1/4 cup (60 ml) plain unsweetened soy milk, at room temperature
  • 1 cup (240 ml) neutral oil (sunflower, light olive, or refined avocado)
  • 1 Tbsp fresh lemon juice (or apple cider vinegar)
  • 1 tsp Dijon mustard
  • 1/2 tsp fine sea salt
  • Pinch of white pepper (optional)

Instructions

  1. 1 Add the soy milk, lemon juice, mustard, and salt to a tall, narrow jar or the cup that came with your immersion blender.
  2. 2 Pour the oil on top. Don't stir.
  3. 3 Place the immersion blender at the very bottom of the jar so it sits on the ingredients, not hovering in the oil layer.
  4. 4 Blend on high without moving the blender for about 20 seconds. You'll see the bottom turn thick and white.
  5. 5 Slowly lift the blender upward while it's still running, pulling the oil into the emulsion as you go. Takes another 10 to 15 seconds.
  6. 6 Taste. Add more salt or a squeeze more lemon if it needs it. Blend for 5 more seconds.
  7. 7 Transfer to a lidded jar and refrigerate. It keeps for up to 2 weeks.

Notes

  • ·Room temperature soy milk emulsifies much better than cold. If yours is from the fridge, let it sit out for 10 minutes first.
  • ·Aquafaba version: swap the soy milk for 3 Tbsp of the liquid from a can of chickpeas. Use the same oil amount and blending method. The result is slightly looser but still good.
  • ·If the emulsion breaks (oil and liquid separate), see the 'broken batch' section in the article.

Calories

90 per Tbsp

Protein

0 g

Fat

10 g

Carbs

0 g

Was this helpful?

Rate this guide

Be the first to rate this

Share this guide

Frequently asked questions

Is regular mayo vegan?+

No. Traditional mayonnaise is made with egg yolks, which is what creates the emulsion. Most supermarket brands (Hellmann's, Duke's, Best Foods) all contain eggs. Always check for a vegan-certified label if you're buying store-bought.

Why does soy milk work as an emulsifier?+

Soy milk contains lecithin, the same compound found in egg yolks that lets fat and water bind together instead of separating. It's not a workaround. It genuinely does the same job.

Can I use other plant milks instead of soy?+

Soy works best because of its lecithin content. Oat milk, almond milk, and cashew milk don't have enough, and the emulsion usually breaks or stays runny. If you're soy-free, try aquafaba (the liquid from a can of chickpeas) instead.

Nooralie Sam

Written by

Nooralie Sam

Nooralie Sam is the founder and editor of VeganDigest, covering vegan food, smart swaps, and where to eat well without animal products.

Comments

Join the conversation

    Keep reading