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
- 250 g dried soy beans (half pack)
- 2.1 L water (for blending and cooking)
- 1.75 g calcium sulfate (gypsum) — about ½ tsp
- 0.55 g nigari (magnesium chloride) — about ⅛ tsp
- 50 ml warm water (to dissolve the coagulants)
Equipment
- Large bowl (for soaking)
- Blender (or food processor)
- Large pot (at least 3 L)
- Cheesecloth or a nut milk bag
- Fine-mesh strainer
- Slotted spoon or ladle
- Tofu mold or a small rectangular container lined with cheesecloth
- A weight (a pot of water or several cans)
Instructions
1. Soak the beans
- Place the soy beans in a large bowl.
- Cover with plenty of cold water (at least 3 times the volume of the beans — they will expand).
- Soak for 8–12 hours at room temperature, or 24 hours in the fridge.
- The beans are ready when you can split one in half easily and the inside is uniformly pale.
- Drain and rinse the soaked beans. They will have roughly tripled in weight.
2. Blend
- Transfer the soaked beans to a blender.
- Add 850 ml water (fresh, not the soaking water).
- Blend on high for 2–3 minutes until very smooth and frothy.
- The mixture should be a thick, creamy slurry.
3. Strain the soy milk
- Place a cheesecloth or nut milk bag over a large bowl or pot.
- Pour the blended mixture into the cloth.
- Gather the edges and twist to squeeze out as much liquid as possible.
- The liquid is your raw soy milk — this is what becomes tofu.
- 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
- Pour the raw soy milk into a large pot.
- Add the remaining 1.25 L water and stir.
- Heat over medium heat, stirring frequently to prevent scorching on the bottom.
- The soy milk will foam up aggressively as it approaches a boil — watch carefully and reduce heat if needed to prevent boiling over.
- Skim off any foam.
- Once boiling, reduce heat to low and simmer for 10 minutes, stirring occasionally.
- 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
- Ladle 500 ml of the cooked soy milk into a container and set aside.
- This is your finished soy milk — drink it, use it in cooking, or store it in the fridge for up to 3 days.
- The remaining soy milk in the pot stays at temperature and will be used for tofu.
6. Prepare the coagulant
- Dissolve both the calcium sulfate and the nigari in 50 ml warm water.
- Stir until completely dissolved — calcium sulfate may need a minute. Set aside.
7. Coagulate the soy milk
- Stir the hot soy milk in one direction to create a gentle whirlpool.
- Pour the coagulant solution in slowly while the milk is still moving.
- Stop stirring once the coagulant is fully added.
- Cover the pot and let it sit undisturbed for 10–15 minutes.
- 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
- Line your tofu mold (or a small container) with cheesecloth, leaving enough overhang to fold over the top.
- Using a slotted spoon or ladle, transfer the curds into the mold.
- Fold the cheesecloth over the top of the curds.
- Place a weight on top. Start with moderate weight and increase gradually over the pressing time.
- 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.
- The tofu is ready when it holds its shape and springs back slightly when pressed with a finger.
9. Unmold and store
- Remove the weight and carefully unfold the cheesecloth.
- Gently invert the mold to release the tofu block onto a plate.
- Submerge the tofu in a bowl of cold water for 10 minutes — this firms it up and washes off excess coagulant.
- Store in the fridge, submerged in water, in an airtight container. Change the water daily.
- Use within 4–5 days.
Tips
- Calcium sulfate + nigari is the classic blend for firm tofu. Calcium sulfate gives structure, yield, and a clean set. Nigari adds a smoother, more pleasant mouthfeel. Together they produce firm tofu that’s sturdy but not chalky.
- Temperature matters. If the soy milk is too hot when you add the coagulant, the curds will be grainy. Too cool and it won’t coagulate at all. 80–85°C is the sweet spot.
- Don’t over-stir after adding coagulant. One gentle stir to distribute, then leave it alone. Over-stirring breaks the curds into tiny pieces and gives you a lower yield.
- Pressing determines firmness. For truly firm tofu, don’t be shy with the weight. A pot filled with 1–2 L of water on top works well. If the tofu comes out too soft, press longer and heavier next time.
- Use a thermometer if you have one. It takes the guesswork out of the cooling step.
- Water quality affects results. If your tap water is very hard, consider using filtered water.
- Okara is nutritious. Don’t throw it away — it’s high in protein and fiber. Mix into meatballs, muffins, or stir-fries.
- The soy milk needs no added coagulant. Set it aside before adding the coagulant to the remaining soy milk. Store in the fridge for up to 3 days. Warm it up to drink, or use it in place of milk in porridge, pancakes, and sauces.
Troubleshooting
| Problem | Cause | Fix |
|---|---|---|
| Soy milk doesn’t coagulate | Temperature too low, or not enough coagulant | Reheat to 85°C, add more dissolved calcium sulfate |
| Curds are grainy and rough | Temperature too high when coagulant was added | Next time, let the soy milk cool longer before adding coagulant |
| Tofu is too soft | Not pressed enough, or too much water in the soy milk | Press with more weight and for longer; squeeze okara more thoroughly next time |
| Tofu is too crumbly | Pressed too hard or too long, or curds were too dry | Use less weight and shorter pressing time |
| Tofu tastes chalky | Too much calcium sulfate | Reduce calcium sulfate and increase nigari slightly next time |
| Low yield | Didn’t squeeze the okara enough, or beans were old | Squeeze 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.