Add the oil, plain soy milk, lemon juice, and apple cider vinegar. and salt to your blender and let it sit for about 2 minutes. (This will start to curdle your milk.)
Blend on high for 30 seconds.
Scrape the edges and blend again for 30 seconds.
Video
Notes
Use the thick, creamy soymilk that comes in the refrigerated section. Something like Silk plain unsweetened, or an equivalent, will give you the thickest, creamiest mayo!
Measure the ingredients very carefully. The correct ratio of oil to protein to acid is the magic that makes this vegan mayo recipe work!
I can't stress this enough! Just a small variation in measuring these ingredients will make your mayo thin and runny.
Immersion blenders work great for this recipe, too! That way you don't have to stop and stir.
Don't cut the recipe in half. I don't know why, but it never works as well if you cut the recipe in half.
If your mayo is runny, you can add unflavored soy or pea protein to give it enough protein to set. If you don't have either of these, about 1-2 tbsp of nutritional yeast will give it enough protein to thicken it. (The nutritional yeast will make it have a little bit of a cheesy flavor, but if you are okay with that, it will give you a thicker mayo.
Note: The mayo will firm up a little more once it has been refrigerated for a few hours.