Traditional Snacks

Salted Savoury Steamed Beancurd Recipe

This Salted Savoury Steamed Beancurd, known in Mandarin as Xian Dou Hua, offers a silky, melt-in-your-mouth texture balanced by umami-rich toppings. Unlike the sweet version, this hawker classic is seasoned with soy sauce, vinegar, and preserved radish for a deeply satisfying snack.

Salted Savoury Steamed Buns
Prep
15 min
Cook
30 min
Serves
4
Level
Medium
Per serving
380 kcal

Method

  1. Soak the soya beans in plenty of water for 8 hours at room temperature, or overnight in the refrigerator. Drain and rinse thoroughly to remove loose skins.

  2. Place beans in a blender with the 2.1 liters of water. Blend in batches on the highest speed for 2 minutes until completely pulverized.

  3. Strain the mixture through a very fine sieve or a muslin cheesecloth into a large pot. Squeeze the cloth firmly to extract every drop of soy milk; discard the dry pulp (okara).

  4. Bring the soy milk to a gentle boil over medium heat, stirring constantly to prevent the bottom from scorching. Once it boils, skim off the surface foam and simmer for 5-10 minutes to remove the 'raw' bean taste.

  5. In a deep, heat-proof ceramic or stainless steel pot, whisk the gypsum powder, cornstarch, and 100ml of water to create a slurry. Stir well right before the next step as gypsum settles quickly.

  6. Take the soy milk off the heat. From a height of about 30cm, pour the hot milk (roughly 85-90°C) in one continuous, swift motion into the slurry pot. This 'throwing' motion ensures the coagulant is evenly distributed without stirring.

  7. Immediately cover the pot with a lid. Do not stir or move the pot. Let it sit undisturbed for 20-30 minutes until it sets into a soft curd.

  8. Gently scoop thin layers of the curd into bowls using a flat spoon. Drizzle with soy sauce, vinegar, and chili oil. Garnish with preserved radish, spring onions, and cilantro. Serve hot.

Notes

The 1:7 bean-to-water ratio is the 'golden ratio' for the silken texture found in Singapore hawker centers.

Never stir the mixture once the milk has been poured into the gypsum slurry, or the curd will break and become watery.

If using gelatine instead of gypsum, use 15g of gelatine powder for this volume, but note that the beancurd must be chilled to set and cannot be served hot.

Use a paper towel to gently dab away any bubbles on the surface of the milk after pouring for a perfectly smooth finish.

Questions

What is the Hokkien name for this dish?
It is called Tau Huay (豆花), which literally translates to 'Bean Flower' due to its delicate, floral-soft texture.
Where can I find food-grade gypsum?
It is sold as 'Sek Bo' (石膏粉) in traditional Chinese medical halls or specialty baking supply stores.
Can I use a nut milk bag instead of a sieve?
Yes, a nut milk bag is actually superior to a sieve as it allows you to squeeze out more milk and leaves zero grit.
Why is my beancurd not setting?
This usually happens if the milk was too cool when poured (it must be at least 85°C) or if the gypsum slurry wasn't stirred immediately before pouring the milk.

Try this next

Hong Kong Style Egg Tarts

Traditional Snacks

Hong Kong Style Egg Tarts

This traditional dessert, known in Hokkien as Tau Huay (豆腐花) meaning 'Bean Flower', is a...

Almond Beancurd

Beancurd Desserts

Almond Beancurd

This refreshing chilled dessert, known in Mandarin as 杏仁豆腐 (Xìngrén Dòufǔ) meaning 'Apricot...

More from Rochor Original Beancurd

Grass Jelly with Longan

Grass Jelly

Grass Jelly with Longan

Known in Mandarin as Xiāncǎo Lóngyǎn Dòufuhuā (仙草龙眼豆腐花), which translates to 'Immortal...

Black Bean Soya Milk

Soya Milk and Drinks

Black Bean Soya Milk

A nutrient-dense and earthy version of the classic soy drink, this black bean soya milk...

Sugar Syrup for Beancurd

Beancurd Basics

Sugar Syrup for Beancurd

Recreating the nostalgic taste of Singapore hawker-style beancurd requires precision and...

Black Sesame Beancurd

Beancurd Desserts

Black Sesame Beancurd

A velvet-smooth soy pudding infused with the toasted, nutty aroma of premium black sesame...