I've made soymilk several times using dried beans. I've done it using a pot of boiling water to cook the pre-soaked beans, blending in a blender, and straining. I also have a SoyaJoy soymilk maker. No matter what I've tried, I always wind up with a "beany" taste, certainly like nothing you get at the grocery store which always tastes so delicious. I honestly don't know how they make soymilk taste so unlike soybeans! I've tried blending with oats, adding sweetener (which I don't like doing), etc. Does anybody know if it's possible to make home-made soymilk taste like store-bought?

  • Related to soymilk bitterness: cooking.stackexchange.com/q/24688/2001 Commented Jul 31, 2012 at 18:12
  • I soaked mine for two days and boiled for 8 hours. Then used a blender. And squeezed with muslin to get the milk. The residue was used for making cookies and tofu. Tofu weren't too successful.
    – Cynthia
    Commented Aug 14, 2012 at 6:54
  • @BlessedGeek- The solids left after making soy milk are called "okara". It is still very nutritious. Tofu is made by curdling the milk not from the okara. Commented Aug 17, 2012 at 1:18
  • @BlessedGeek, okara is really great in bread or veggie burgers. Tofu is made my curdling the soymilk with vinegar or nigari. You need a lot of soymilk to get a decent amount of tofu.
    – lemontwist
    Commented Aug 17, 2012 at 2:17

8 Answers 8


The beany flavor is destroyed by heat. Some recipes do call for boiling the beans before grinding as you said.

Most recipes that I have seen call for boiling the milk for a while after it has been strained. I find this more convenient as the milk is strained and pressed cold and then heated.

If your milk is still excessively beany then you may not be boiling it long enough to break down those indigestible compounds.

As for making it like commercial- most commercial soy milks contain a lot of extra ingredients to enhance the flavor and texture. Vanilla and sometimes sugar are added as well as calcium carbonate for creaminess, preservatives, etc. You can experiment with these if you would like but I found that I developed a taste for the flavor of fresh soy milk. It seems crisper and more naturally sweet to me than store bought.

  • 1
    This is what I've seen living here in Asia. If you don't boil the soy milk long enough it will taste very planty. The process I've seen (and used) is soak 8-12 hours, add more water and blend well in a blender, then boil gently for 1-2 hours, then strain. Add sugar after straining if so desired. The okara also goes well beaten with an egg and fried like a pancake!
    – Lee K-B
    Commented Jun 7, 2013 at 16:30
  • 2
    How much time is too long? And do you know the ideal temperature? E.g. at 70c for 5 hours? I'm thinking of leaving a pot inside a temperature regulated water bath. So I'm wondering if 10 hours is better than 2 hours, or if cooking for too long would also damage the nutrients?
    – user280593
    Commented Jan 28, 2017 at 22:10

Glad you asked this - I had the same question a couple weeks ago when making homemade soy milk with a new SoyaBella maker I got. This article from the VeganYumYum provided some good information. Here's a summary of things to try.

  • Always soak beans in boiling water, then rinse the beans off thoroughly before making your soy milk. This is probably the most important step (see below)
  • Remove the skins. Soaking in very hot water (just boiled) make aids in this process, by loosening the skins. See below for my method for doing this
  • Add some sugar or another sweetener
  • Drink it cold
  • Steam the beans first. A commenter on that article says is how Silk does it.
  • Try different varieties of soy beans. People say different beans taste different. A brand called Laura soy beans is highly recommended, but I have yet to try. I bought organic bulk soy beans from Whole Foods, as I have found their other bulk beans to be fresh with good flavor, but they produced beany flavored milk following the normal overnight soak and machine mill method.
  • Try adding other grains in there, like cooked brown rice or oats.
  • Try adding other flavors. Vanilla is an obvious one, but you can be creative and try fruit or other vegetables that you would like to drink.

If you google around for this (beany homemade soy milk) a lot of stuff comes up, but most of it has been summarized here.

My method is to soak in just boiled water for a few hours or overnight, and then remove the skins using the method listed below. After the milk is made and still hot, add 2-3 tbsp of a good organic sugar. Adding it while hot is important for dissolving the sugar.

A lot of the flavor is in the aroma and the beany aroma may persist, but the flavor tastes a bit cleaner to me. Adding sugar and using it very cold and settled also helps.

Tip for removing the skins easily

I have come up with a very easy way to remove the majority (not 100%) of the skins. One day I will make a video of this, but here's an explanation for now. You will need a large bowl and a spider or skimmer. A spider or skimmer is ideal, but a slotted spoon or small strainer might work as well. The process takes 5-10 minutes.

  1. After soaking in hot water, pour off the soaking water and rinse beans.
  2. Then place beans in a very large bowl, preferably glass to make it easier to see what you're doing, and fill with lukewarm water.
  3. While under the water, squeeze the soybeans between your hands and fingers vigorously for a few minutes, squeezing the beans out of their skins, but leave the beans and skins in the water. Skins are removed in the next step. The beans should pop out of the skins easily, though they may split in half during the process, which is fine because you'll be grinding them in to a pulp when making the soy milk anyway. The goal here is to get as many of the skins off as fast as possible.
  4. To remove the skins from the water, swirl the water for a few seconds around the bowl. This will create a whirlpool and the heavier beans will sink to the bottom while the lighter skins will float up, and you can catch them quickly with the spider or slotted spoon.

This takes a little practice, but if you swirl than catch the skins quickly, you can remove the majority (probably 80-90%) of the skins this way, while leaving the beans behind in the water, and you don't have to worry about picking the skins out by hand, which is very time-consuming

Always soak dry beans in boiling water

Wikipedia confirms that soaking unhulled beans (skin on) in boiling water will reduce/remove the beany flavor, which is caused by lipoxygenase.

In 1969, Mattick and Hand at Cornell University made the important discovery that most of the so-called beany flavor in soybeans was not inherent in the beans themselves but was produced by the enzyme lipoxygenase when the split beans came in contact with water. Lipoxygenase could be inactivated and most of the beany flavor removed by either dropping unsoaked soybeans directly into boiling water or by removing any cracked or split beans prior to soaking, then carefully dropping the soaked beans into boiling water.

History of Whole Dry Soybeans - Soyinfo Center

If you prefer sources with more academic rigor, some of the original work on this can be seen here:

Lo, W.Y., K.R. Steinkraus, D.B. Hand, L.B. Hackler, AND W.F. Wilkens. 1968d. Yields of extractcd solids in soymilk as affected by temperature of water and various pre-treatments of beans. Food Technology 22: 1322-1324.

Mattick, L. R., and Hand, D. B., Agric. Food Chem., 17, 15–17 (1969).

  • Removing the skins is a huge pain. It's almost not worth it. You have to get a lot of the skins off to make tempeh, I spent over an hour doing it and probably didn't get half of them gone. I've also tried adding other grains (see my question), and that didn't help. Maybe I'll try steaming though. Seems like the heat treatment is necessary.
    – lemontwist
    Commented Aug 1, 2012 at 12:14
  • 1
    This would become more credible if you don't cite Wikipedia, but rather follow their references (assuming they have them) and cite the original content. Wikipedia doesn't have a lot of credibility on its own.
    – SAJ14SAJ
    Commented Mar 28, 2013 at 18:03
  • 1
    @SAJ14SAJ In this case they cite a secondary source, soyinfocenter.com/HSS/whole_dry2.php, which doesn't cite the original paper, just the authors. But for your researching pleasure, I have added some primary sources for you. I didn't include them originally because they are quite old and not available online (as far as I could tell), whereas the wikipedia article, which is pretty well researched and technical, is.
    – paul
    Commented Mar 28, 2013 at 23:46

I know Soyafarm, a Japanese company, invented a process that reduces the grassy aroma of soybeans in soymilk, soy yogurt and other soy protein products. I believe the process is enzymatic, but I haven't read the literature; there is some patent information that the parent company and some related companies have filed; many of the techniques would be hard to replicate at home, except maybe the calcium one; I'm not sure the enzymes they use are available to the general public. Most US-market products use other flavorings to cover up the base bean flavor.

Since I mostly use soymilk for soups and other Chinese and Japanese-style culinary applications, I find it a little strange to hide the fresh, beany flavor, which is kind of key to what I expect from soymilk; the thin, watery, aromatized, heavily sweetened versions seem beside the point to me.

I find it rather strange to prefer the flavored supermarket brands; I learned to appreciate fresh soymilk and find the store-bought stuff to be mostly unpleasant, but clearly the market thinks differently.

  • 1
    I agree that the beany flavor may be what the soy milk machines were designed to produce, as this is what is typical in Asian soy milks. However, the question asker is asking how to make something not beany, which should be possible given that the commercial soy milk makers do it.
    – paul
    Commented Aug 1, 2012 at 4:49
  • 1
    Yes, should be possible, given access to similar technology; the challenge is that the best examples of this, like Soyafarm's product line, don't use techniques usable by most home cooks.
    – JasonTrue
    Commented Aug 1, 2012 at 5:35
  • 1
    Thanks for the response. I'm interested in the most natural, home-made way to make soymilk that I will drink, and honestly, I won't drink it if it's beany. I'm just picky!! Not everybody has the same taste.
    – lemontwist
    Commented Aug 1, 2012 at 12:16

Boil the soybeans when they are raw (10 minutes), then soak them (10 hours, refreshing water every 2 hours), then dry them (10 hours), then boil them with baking soda (1 teaspoon per 10 cups of water), then rinse, blend with water, and boil mixture for 30 minutes, then cool, filter through muslin, and refrigerate. Done.

  • What is the point of "then dry them (10 hours)" again?
    – kxr
    Commented Apr 23, 2020 at 16:06
  • I honestly do not recall. I wrote this so long ago, and no longer make homemade soymilk. Try skipping that step and see if it still works! :)
    – Matthew
    Commented Nov 10, 2020 at 22:28

In addition to what Sobachatina suggested, I've also read that (after soaking) to remove the skins, which might help. How long do you soak your beans? I have soaked mine (in the refrigerator) for a day or two, and I think the longer soaking time helps, too.

  • Removing bean skins is so time consuming that I really don't want to do that. Also, I've tried and it didn't make much of a difference. Generally I soak at least overnight.
    – lemontwist
    Commented Jul 31, 2012 at 19:23

We have an older SoyaJoy soy milk maker. When we first tried making soy milk it had a very beany taste. I was told by a friend that it was the BEANS that were the problem. I contacted a tofu manufacturing company and purchased organic, non-GMO beans from them. We are very happy with the milk we get from these soybeans. We rinse the beans before soaking them in hot tap water. We soak them for about 8 hours or overnight and rinse them again before putting them into the SoyaJoy. We make no effort to remove the skins, nor do we boil the beans. The SoyaJoy takes care of any heating that is required to make the milk. We strain the milk in 2 layers of cheese cloth and put in a few shakes of salt and approximately 1 tsp of honey. Our soy milk has no beany taste.

We use three batches of soy milk (about 4 1/2 quarts), that yields approximately 18 - 19 ounces of tofu. We use Nigari for curdling the milk. We mix 3 3/4 tsp. of nigari crystals in 1 cup warm water until it is dissolved. One half the disolved nigari is added to the 150-155 degree soymilk while the milk is being stirred in a figure 8 pattern. Then add the remainder of the nigari mixture and stir well again in a figure 8 pattern for 20-30 seconds. Cover the resulting curds and whey and let sit for 15-20 minutes. During this time the curds will sink to the bottom while the whey comes to the top. Carefully drain off some of the whey and pour the remaining curds and whey into a press lined with 2 layers of cheese cloth. Fold the cheese cloth over the curds and whey and place about 5-7 pounds of weight on it for approximately 1 - 1 1/4 hours or until the tofu is as firm as you desire. We enjoy fresh, sweet-tasting tofu every week.

Have fun.

  • This does not answer my question. I use new (dried), organic soybeans and the milk still tastes beany.
    – lemontwist
    Commented Feb 6, 2013 at 11:10

I soak the beans overnight and rinse them well before using my soy milk maker. I add about a 1 inch slice of a vanilla bean that I slit open and cut up into 14" pieces. I add that to my soy milk maker and after straining the milk I put another fresh 1" slit open piece in the milk. I also add 1-2 Tb agave syrup. It really has a nice taste. I only use organic non-GMO beans which I have been told make a difference in the taste. I cannot tell mine apart from the store bought after it sits overnight in the fridge.

  • I have used pretty much that exact method and could absolutely taste a beany taste not present in store bought soymilk. It didn't even taste remotely close.
    – lemontwist
    Commented Jan 24, 2013 at 20:15

Beany flavuor is due to lipoxigenase enzyme. It can be deactivated with the help of heat. But, still I have seen there is some beany flavour left in it. There is a sow cow machine developed in CIAE, Bhopal, India which sucks out all the aromatic compound out of it and hence give soy milk a bland taste.

Not the answer you're looking for? Browse other questions tagged or ask your own question.