How to make tofu

Tofu is actually really easy to make at home, although one word sticks out in my mind… Messy! But then again, every time I cook it is messy!

This tofu is creamier than you tend to get in the shops, and a top tip is to freeze it dry i.e. not covered in water. If you freeze it, after it is defrosted you can then give it a squeeze and the water comes out, this then gives you a really nice dry tofu, perfect for marinating.

Let’s get started.


  • 800 g dried soya beans
  • 1.5 teaspoons nigari salt flakes, I bought mine online as I couldn’t find them in local shops

You will also need

  • A high-powered blender (the higher power the better)
  • A large colander
  • A muslin or cheesecloth
  • A very large saucepan, probably 2
  • A trivet or flat colander/strainer
  • Wire rack


Give the soya beans a good wash in water and place into a large bowl and soak in 1.5 L of filtered water for 10 hours. Wash and drain. The beans will swell from hard round beans to the classic soya bean shape.

Soak the soya beans in filtered water for 10 hours

Next we need to purée the beans, unless you have a very powerful and large blender you will probably need to do this in stages. I prefer to split the beans into three batches. Blend each batch for a few minutes with around 750 mL of warm water until you have a smooth purée.

Before puree
After puree

When you’ve blended all three batches you will have a large amount of purée beans. Place them into a large bowl or saucepan.

Boil up about 2L of water, pour this over the beans.

Now line a colander with a muslin and suspend it over a large saucepan, I usually use a pressure cooker as it’s so big.

Suspend a colander over a large saucepan
Line the colander with a muslin

You will probably need to do the next step in batches as well.

Pour in the bean purée into the colander until full.

Leave for a couple of minutes to let the bulk of liquid drip through the muslin into the saucepan, this liquid is soya milk.

Pull up the sides of the muslin, and begin gently squeezing to extract as much moisture as you can.

I usually twist the ball of purée, let the liquid drain (this is your soya milk), twist some more and repeat until the soya milk almost stops coming out.

I then give the muslin a rinse to clean it out, and repeat with the remaining batches, each time filling up the muslin lined colander, letting the soya milk drain out into the saucepan, pulling at the edges of the muslin & squeezing.

You now have a large saucepan full of fresh soyamilk.

Bring the saucepan gently to a boil.

Whatever you do, don’t leave the saucepan. The soya milk will boil very quickly and will bubble over easily.

Reduce the heat and simmer with the lid on for 10 min.

Whilst the soya milk is simmering, dissolve 1.5 tsp of nigari salt flakes in about two tablespoons of warm water.

When the 10 min are up, gently stir in the salt flake mixture into the soya milk making sure it’s very well distributed from the outside of the saucepan right the way to the centre.

This will now curdle the soya milk.

Turn off the heat and allow the mixture to curdle for 10 min.

The soya milk will curdle in the saucepan after the addition of the nigari salt

Take a trivet or flat colander, line it with muslin and stand on a wire rack. Ideally place on a draining board.

Pour in the curdled soya milk. The whey will run out through the muslin.

The whey starts to run through the muslin, leaving the kurds behind

Fold over the edges of the muslin, place a plate on top and weigh down with a few tins of beans.

I use a pressure cooker trivet, lined with the muslin and weighed down with tins of beans or large Marmite jar!

Leave to cool. At least 25 min is required for a good press.

Slice your fresh tofu, store in water for 4 days or freeze without water in a sealed container. If you freeze the tofu you can squeeze out even more water after defrosting for an even drier texture.

Published by Whole Food Vegan Podcast

Vegan Blogger and Podcaster

One thought on “How to make tofu

Add your comment...

This site uses Akismet to reduce spam. Learn how your comment data is processed.