← All recipes

Homemade Firm Tofu

Servings
2
Yield
1 block (~220 g) + 500 ml soy milk
Prep time
30 min (soaking excluded)
Cook time
30 min

Setting time: 30–45 min

Ingredients


Equipment


Instructions

1. Soak the beans

  1. Place the soy beans in a large bowl.
  2. Cover with plenty of cold water (at least 3 times the volume of the beans — they will expand).
  3. Soak for 8–12 hours at room temperature, or 24 hours in the fridge.
  4. The beans are ready when you can split one in half easily and the inside is uniformly pale.
  5. Drain and rinse the soaked beans. They will have roughly tripled in weight.

2. Blend

  1. Transfer the soaked beans to a blender.
  2. Add 850 ml water (fresh, not the soaking water).
  3. Blend on high for 2–3 minutes until very smooth and frothy.
  4. The mixture should be a thick, creamy slurry.

3. Strain the soy milk

  1. Place a cheesecloth or nut milk bag over a large bowl or pot.
  2. Pour the blended mixture into the cloth.
  3. Gather the edges and twist to squeeze out as much liquid as possible.
  4. The liquid is your raw soy milk — this is what becomes tofu.
  5. The solids left behind are okara (soy pulp) — save it for other uses (add to burgers, bread, or stir-fries).

4. Cook the soy milk

  1. Pour the raw soy milk into a large pot.
  2. Add the remaining 1.25 L water and stir.
  3. Heat over medium heat, stirring frequently to prevent scorching on the bottom.
  4. The soy milk will foam up aggressively as it approaches a boil — watch carefully and reduce heat if needed to prevent boiling over.
  5. Skim off any foam.
  6. Once boiling, reduce heat to low and simmer for 10 minutes, stirring occasionally.
  7. Remove from heat and let the soy milk cool to 80–85°C (about 5 minutes). This temperature is critical for proper coagulation.

5. Set aside soy milk

  1. Ladle 500 ml of the cooked soy milk into a container and set aside.
  2. This is your finished soy milk — drink it, use it in cooking, or store it in the fridge for up to 3 days.
  3. The remaining soy milk in the pot stays at temperature and will be used for tofu.

6. Prepare the coagulant

  1. Dissolve both the calcium sulfate and the nigari in 50 ml warm water.
  2. Stir until completely dissolved — calcium sulfate may need a minute. Set aside.

7. Coagulate the soy milk

  1. Stir the hot soy milk in one direction to create a gentle whirlpool.
  2. Pour the coagulant solution in slowly while the milk is still moving.
  3. Stop stirring once the coagulant is fully added.
  4. Cover the pot and let it sit undisturbed for 10–15 minutes.
  5. Check: the soy milk should have separated into white curds and pale yellow whey. If the liquid is still milky, sprinkle a little more dissolved coagulant, stir gently once, and wait another 5 minutes.

8. Mold and press

  1. Line your tofu mold (or a small container) with cheesecloth, leaving enough overhang to fold over the top.
  2. Using a slotted spoon or ladle, transfer the curds into the mold.
  3. Fold the cheesecloth over the top of the curds.
  4. Place a weight on top. Start with moderate weight and increase gradually over the pressing time.
  5. Press for 30–45 minutes with firm pressure. The heavier and longer you press, the more whey is expelled and the firmer the tofu becomes.
  6. The tofu is ready when it holds its shape and springs back slightly when pressed with a finger.

9. Unmold and store

  1. Remove the weight and carefully unfold the cheesecloth.
  2. Gently invert the mold to release the tofu block onto a plate.
  3. Submerge the tofu in a bowl of cold water for 10 minutes — this firms it up and washes off excess coagulant.
  4. Store in the fridge, submerged in water, in an airtight container. Change the water daily.
  5. Use within 4–5 days.

Tips


Troubleshooting

ProblemCauseFix
Soy milk doesn’t coagulateTemperature too low, or not enough coagulantReheat to 85°C, add more dissolved calcium sulfate
Curds are grainy and roughTemperature too high when coagulant was addedNext time, let the soy milk cool longer before adding coagulant
Tofu is too softNot pressed enough, or too much water in the soy milkPress with more weight and for longer; squeeze okara more thoroughly next time
Tofu is too crumblyPressed too hard or too long, or curds were too dryUse less weight and shorter pressing time
Tofu tastes chalkyToo much calcium sulfateReduce calcium sulfate and increase nigari slightly next time
Low yieldDidn’t squeeze the okara enough, or beans were oldSqueeze the soy pulp thoroughly; use fresh dried beans

Result

A dense, sturdy block of firm tofu that slices cleanly and holds its shape in stir-fries, curries, and soups. Made from soy beans, water, calcium sulfate, and nigari — noticeably fresher and better tasting than store-bought.