Add the oil, plain soy milk, lemon juice, 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 type of soymilk that is thick and creamy and comes in the refrigerated section. Something like Silk plain unsweetened or an equivalent will give you the thickest and 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 the measurement of these ingredients will cause your mayo to be 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 protein or pea protein to it 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 make it thicker. (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.