Homemade Soy Milk Recipe

In my early unsuccessful attempts at making tofu, I was consoled by the realization that I had learned to make soy milk. It does require a bit of elbow grease, but otherwise it is very simple.

This fresh, clean homemade soy milk is delicious on its own. But you can add vanilla, almond extract, honey, or sugar. The nice thing is you get to control how much goes in, unlike the sweetened store-bought versions, which also happen to be quite a bit more expensive.

To make tofu from this soy milk, check out the silken tofu recipe. And for a full demonstration on how to make both the soy milk and tofu, see this slideshow.

This recipe is adapted from The Book of Tofu.

Recipe Facts

Active: 30 mins
Total: 10 hrs 30 mins
Serves: 3 servings

Rate & Comment


  • 1 cup dried soybeans

  • 3 1/2 cups water

  • Optional flavors or sweeteners such as vanilla or almond extract; honey, agave nectar, or sugar


  1. Rinse, drain, and soak beans in about 6 cups of water for 8 to 10 hours. Rinse and drain again.

  2. Transfer beans into a blender or food processor along with 1 cup of water. Puree, scraping down sides as necessary, until thick and creamy, about 3 minutes.

  3. Set up a large mixing bowl with a strainer or colander set into it. Line the colander with a large tea towel – it should be strong but not too thick. You’ll want the soy milk to pass through without letting out any of the soybean pulp.

  4. Transfer puree plus 2 cups water into a large pot. Cook over medium-high heat, stirring occasionally to prevent scalding, until very foamy and just beginning to boil. Pour the hot puree into the lined strainer and wash out the pot.

  5. Bring the sides of the towel together and twist. Press the contents against the strainer with a pestle or the bottom of a sturdy bottle so that the milk drains out and into the mixing bowl. (A silicone oven mitt can also be used to protect your hands if you want to press the hot sack directly.)

  6. When the soybean pulp seems pretty much dried out, open up the towel and pour in the final 1/2 cup of water over it. Close up the towel again and squeeze out the final drops of soy milk. You should have about 3 1/4 cups of raw soy milk.

  7. Return the soy milk to the pot and bring to a boil over medium-high heat, then reduce the heat to medium-low. Simmer gently until the milk is sweet and has lost its raw bean flavor, about 7 minutes. Stir in additional flavoring or sweetener, if desired.

  8. Serve warm or cold and consume within a few days.

This Recipe Appears In

Nutrition Facts (per serving)
33 Calories
2g Fat
2g Carbs
3g Protein
Show Full Nutrition Label Hide Full Nutrition Label
Nutrition Facts
Servings: 3
Amount per serving
Calories 33
% Daily Value*
Total Fat 2g 2%
Saturated Fat 0g 1%
Cholesterol 0mg 0%
Sodium 9mg 0%
Total Carbohydrate 2g 1%
Dietary Fiber 1g 4%
Total Sugars 1g
Protein 3g
Vitamin C 0mg 2%
Calcium 26mg 2%
Iron 1mg 5%
Potassium 98mg 2%
*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
(Nutrition information is calculated using an ingredient database and should be considered an estimate.)