Recent years have seen an explosion in the number of different plant-based milks on grocery store shelves. Where non-dairy milk used to be made mostly from soy beans or almonds, we are now milking oats, walnuts, rice, hazelnuts, peas, cashew nuts, coconuts, sesame and sunflower seeds and various other grains, nuts and seeds.

While cow’s milk is still the most popular milk, sales of non-dairy alternatives hit an estimated $2.95 billion in 2020, up 54 percent from five years earlier (numbers from the market research firm Mintel quoted in the New York Times). This surge in demand has been driven in part by people who are intolerant to dairy foods and seeking alternatives (did you know that about 2/3 of the world’s population doesn’t tolerate dairy?). The other driver is the popular trend of eschewing or reducing animal foods for environmental, ethical and health reasons.

Alas, not all plant based “milks” are nutritionally equivalent to animal milk. Many brands offer precious little in the way of vitamins, minerals, fats or high-quality protein. What they lack in nutrients they often make up for in additives: gums, emulsifiers, thickeners, flavorings and, in some cases, more sugar per serving than a donut. Even when they don’t contain added sugar, some — like oat or rice “milk” — are high in carbohydrates that can raise your blood sugar and insulin levels, something most of us don’t need.

If you’re intolerant to dairy, plant milks can provide a delicious alternative — just don’t expect them to provide the same nutritional profile as dairy (so try to get your protein, calcium, potassium, vitamins A & D from other foods). If you have been relying on fortified, store-bought plant milk as your calcium source, homemade milk can’t rival that in terms of calcium content, so make sure you eat other foods that contain calcium, like dairy (if tolerated), bone-in fish, green leafy vegetables, seeds and calcium-rich minerals waters like San Pellegrino. (Or simply add a calcium supplement to your homemade plant milk. After all, that’s what they do at the fortified-plant-milk factory.) For more information about the quality and health implications of various plant milks, read this New York Times article.

Although I am fortunate enough to tolerate dairy thanks to my Northern European ancestry, I decided a few years ago to try my hand at making nut milk from scratch, partly in an effort to reduce the food packaging I was putting in landfills, and because I wanted to show my dairy-intolerant clients how to make delicious, minimally processed plant milks.

FirMy first batches of plant milk consisted of nuts and seeds soaked in water overnight, blended in a high-powered blender, filtered through a cotton nut-milk bag and flash-pasteurized in a small pot. I started with almonds but eventually expanded to hazelnuts (this remains my favorite, especially when combined with cocoa – think “Nutella!”), pepitas (pumpkin seeds), which produce a pretty light green liquid that contains as much protein as cow’s milk, sesame seeds (their milk is a little bitter but tastes great in coffee) and grated coconut (a great all-arounder — delicious in smoothies or creamy Thai or Indian curries).

This technique was fun and artisanal, esp. because it allowed me to play around with texture and creaminess (adding more or less water to achieve varying levels of consistency) and flavor (adding vanilla and/or a soaked date). It was also a great way to use up small quantities of nuts or seeds that needed to be used up (nuts and seeds don’t age well, being prone to oxidation). However, it also required a lot of time, effort and special equipment.

So I decided to simplify the process dramatically by blending nut butter with water (duh! what took me so long?). Not all nut butters are finely ground, so shop around a little to find the smoothest, least gritty pastes. My favorites at the time of writing are Trader Joe’s mixed nut butter (a creamy mixture of hazelnuts, almonds, cashews, Brazils and pecans) and raw, creamy almond butter; Whole Foods’ 365 organic creamy peanut butter; Soom’s plain organic tahini and Kevala’s organic coconut butter. (If there are other brands you love, please do so in the comments section below.)

These milks don’t curdle when added to hot coffee and tea and make delicious “lattes” (e.g., coffee or matcha) and cocoa drinks, to be enjoyed iced or warm. To make them taste even more like milk (which contains a natural sugar called lactose), you can add a smidgen of sweetener (a few drops of stevia, a little maple syrup or some other sweetener of your choice) and a pinch of salt. If you plan to prepare a savory dish using this milk (like a cheese sauce), omit vanilla and sweetener! (I speak from experience… ☹ ).

Lastly: because they get their rich creaminess from nut and seed pastes, rather than from thickeners and emulsifiers, these homemade milks are higher in calories than many store-bought brands. You can increase or decrease their energy content by adding more or less water.

Super Simple Homemade Nut Milk

Keyword: Breakfasts, Dairy-Free (or can be), Drinks, Gluten-Free (or can be), Keto (or can be), Low-Carb, Vegan (or can be), Vegetarian (or can be)
Prep Time: 5 minutes
Servings: 4 cups
Calories: 90kcal
Delicious, creamy nut milk at a fraction of the cost you pay in the store -- and easy on the landfills!
Print Recipe


  • ¼ cup nut butter I used Trader Joe's Mixed Nut Butter to calculate the nutrition content of this recipe
  • 4 cups cold water filtered
  • pinch salt omit of the nut butter is salted


  • Place the nut butter in a blender. Add 1 cup water. Seal lid tightly and blend for 1 minute.
  • Add the rest of the water and blend for another 30 seconds.
  • Transfer immediately into a clear glass bottle or mason jar and refrigerate.
  • The solids may sink to the bottom of the bottle after a while; shake bottle to mix.


Serving: 1cup | Calories: 90kcal | Carbohydrates: 4g | Protein: 3g | Fat: 8g | Saturated Fat: 1g | Trans Fat: 1g | Cholesterol: 1mg | Sodium: 29mg | Potassium: 94mg | Fiber: 2g | Sugar: 1g | Vitamin C: 1mg | Calcium: 33mg | Iron: 1mg