A glass of warm Malaysian soy milk with a pandan leaf beside it and a small dish of palm sugar syrup
CuisineMalaysian

Susu Kacang Soya: Malaysian Pandan Soy Milk with Palm Sugar Syrup

Susu kacang soya, Malaysia's pandan-scented soy milk, pressed from dried soybeans. How to boil it safely past the foam and make ginger and palm sugar syrups.

Level: Beginner

Cooking flow

Cooking steps

STEP 11 / 10

Wash and soak the soybeans

Dried soybeans soaking in a bowl of water while a hand checks the plumped beans
Loose skins float up and the water turns a little cloudy as the beans plump and pale

Rinse the soybeans under running water and put them in a large bowl with plenty of fresh water. Cover and refrigerate for 8 to 12 hours, aiming for the full 12 hours, and keep the soak in the fridge rather than on the counter. Before using them, pick out any beans that float or look discoloured. The beans are ready when they have nearly doubled in size and split cleanly under a fingernail.

STEP 22 / 10

Make the ginger syrup

STEP 2

Put the white sugar, the ⅓ cup (80 ml) water and the bruised ginger in a small saucepan. Bring it to a boil, stirring until the sugar dissolves, then let it bubble for a few minutes to reduce. Strain out the ginger and pour the syrup into a clean jug. It looks thin while hot and thickens as it cools; stop before it turns heavy in the pan, because overcooked syrup sets hard once cold.

STEP 33 / 10

Make the palm sugar syrup

Ginger syrup and palm sugar syrup simmering in two small saucepans, ready to be strained
The ginger syrup stays pale and clear, while the gula melaka melts to a deep brown around its pandan

Chop or grate the gula melaka so it melts evenly. Put it in the second saucepan with the 1 cup (240 ml) water and the three knotted pandan leaves, and set it over medium heat. Stir until the sugar has melted, then simmer until the syrup takes on a little body. Strain out the pandan once the syrup has a little body; it thickens further as it cools.

STEP 44 / 10

Blend the soaked beans

Soaked soybeans and water blended in a blender into a thick pale purée
Blend one batch while the second waits in the bowl; the purée should stay visibly grainy

Drain the beans and set aside a little of the measured water for the second press. Blend the beans in two batches, each with about half of the remaining water, on high for about 1 minute. Stop while the purée still has a fine grit rather than running smooth and liquid. You want a thick, pale purée that looks grainy against the side of the jar.

Stop blending early

Blending past the grainy stage grinds the pulp so fine that it slips through the cloth and clogs it, and the milk ends up gritty. One minute on high per batch is enough.

STEP 55 / 10

Press the milk through cloth

Hands twisting a cloth bag of soybean pulp over a sieve as soy milk drips into the pot
Twist the cloth tight above the sieve; the milk should drip out white and the pulp stay pale and dry

Line a sieve or colander with cheesecloth or a nut-milk bag and set it over a large pot. Pour in the purée a portion at a time, gather the cloth and twist it hard so the milk runs out below. Keep twisting and squeezing until the pulp in the cloth gives almost no liquid when you clench it in your fist.

STEP 66 / 10

Press a second time and strain again

STEP 6

Put the pulp (okara) back in the blender with the water you set aside and blend it again. Squeeze it through the cloth a second time; this pulls out milk the first press left behind. Then pour all the milk through a clean cloth once more. It is ready when no grains show in the milk and the pulp in the cloth is nearly dry.

STEP 77 / 10

Heat the milk with pandan

Soy milk heating in a pot with two knotted pandan leaves, stirred with a wooden spatula
Small bubbles at the edge only mean the milk is getting close; keep the spatula moving along the bottom

Pour the milk into the pot of at least 3¼ quarts (3 L) and drop in the two knotted pandan leaves. Set it over medium heat and stir constantly with a wooden spatula, scraping the bottom so nothing catches. Keep stirring as the steam builds. Move to the next step when foam starts to rise from the edges and the liquid begins to bubble.

STEP 88 / 10

Hold a full boil for 10 minutes

Skimming foam from boiling soy milk while it keeps boiling
Lift the foam away and check that the liquid below the skimmer is rolling, not just the foam

Once it boils, lower the heat to medium-low while keeping the milk at a boil for at least 10 minutes. Skim off the foam as it rises, and look underneath it: the liquid surface itself must be bubbling, and the 10 minutes count only from then. If you smell scorching, lower the heat further. When the raw bean smell is gone and the steam smells sweet, lift out the pandan and turn off the heat.

Foam is not a boil

Soy milk foams up long before it truly boils, and that foam is what fools people into stopping early. Skim it and watch the liquid underneath; only a bubbling surface counts toward the 10 minutes.

Boiling soy milk

Never drink raw soy milk, and never shorten the 10-minute boil. Raw beans contain a natural lectin that the full soak and a vigorous boil break down; undercooked beans cause vomiting, diarrhoea and stomach pain. The foam boils over fast, so keep a hand on the heat and stay at the stove. If the bottom scorches, the burnt taste stays in the milk; make a fresh batch rather than drinking it.

STEP 99 / 10

Serve warm or over ice

Cold soy milk poured over ice in a glass with dark grass jelly at the bottom
Cincau goes in first and settles at the bottom; the palm sugar syrup stays in its own small jug

For warm glasses, ladle the milk into mugs or teacups, and keep whatever stays in the pot hot at 140°F (60°C) or above while you serve. For cold glasses, use milk chilled as in the next step, or pour it over ice. If you are adding cincau, put it in the glass first and pour the milk over it. Set the syrups on the table and let each person stir 2 tsp to 2 tbsp into a ⅔- to ⅞-cup (150–200 ml) glass as a starting point, tasting and adding more a spoonful at a time.

Keep the sugar out of the pot

Sweeten each glass, never the pot. Unsweetened milk lets every drinker choose ginger or gula melaka and set the strength, and plain leftovers stay ready for either syrup.

STEP 1010 / 10

Cool and refrigerate the rest

Bottles of soy milk standing in cold water to cool before going into the fridge
Standing the bottles in cold water with ice brings the temperature down fast; check it with the thermometer before refrigerating

Cool what is left right away: bring it down to 68°F (20°C) within 2 hours, then to 39°F (4°C) within the next 4 hours. Pour it into clean containers with lids and refrigerate at 39°F (4°C) or below, and drink it by the next day. Boiling does not kill the spores of the bacteria that grow in soy milk, so never leave it at room temperature or carry it without keeping it cold. To serve leftovers warm, reheat until the milk reaches at least 167°F (75°C); in a microwave, stir once partway to even out the heat.

0 / 0
Ingredients

Ingredients

1 / 1

Ingredients

Ingredient Amount Role
Dried yellow soybeans (kacang soya) 10¾ oz (300 g) The body and flavour of the milk
Water, for the soy milk (air) 10½ cups (2.5 L) Ground with the beans and pressed out as milk
Pandan leaves, for the soy milk (daun pandan) 2, knotted The main aroma
White sugar, for the ginger syrup (gula) 9 oz (250 g) Clean sweetness
Water, for the ginger syrup ⅓ cup (80 ml) Dissolves the sugar
Fresh ginger (halia) 1 oz (25 g), peeled and lightly bruised Warm bite in the syrup
Palm sugar (gula melaka) 10¾ oz (300 g), chopped or grated Dark, deep sweetness
Water, for the palm sugar syrup 1 cup (240 ml) Melts the palm sugar
Pandan leaves, for the palm sugar syrup (daun pandan) 3, knotted Aroma in the syrup
Grass jelly (cincau), store-bought, optional As needed Topping for a cold glass
Ice, optional As needed For cold serving; use ice made from drinking water
0 / 0

The foam comes first. A pot of fresh soy milk climbs toward the rim in a pale, trembling dome well before the liquid underneath is boiling, and the kitchen smells of raw beans until the boil takes hold and the steam turns sweet and green with pandan. Susu kacang soya is that milk: dried soybeans soaked, ground with water, pressed through cloth and boiled with knotted pandan leaves. In Malaysia it is ladled into cups at morning and night markets and poured in kopitiam, warm or over ice. The sweetness goes in last, from a jug of ginger syrup or dark gula melaka syrup, so every glass tastes of clean, nutty bean with pandan right behind it and exactly as much sugar as the drinker wants.

A Market Drink With Three Names

In Malay, susu kacang soya means simply "soybean milk." At the Chinese-Malaysian stalls that sell it, the same drink is doujiang (豆浆) in Mandarin and tau chui, "bean water," in Hokkien, so the name you hear depends on who is behind the counter and who is ordering. Soy milk is usually traced to China, though how far back it goes is not settled. It is also the starting point for tofu and for yuba, the skin lifted from heated soy milk.

A Malaysian night market stall where a vendor pours soy milk into a cup
At the stall, the milk comes from a large insulated container and the ice waits in a bucket beside the stacked cups

You find it at the pasar pagi in the early morning, at the pasar malam once the string lights come on, and in the coffee shops in between. It belongs to the Chinese hawker trade across Malaysia and is sold alongside tau fu fah, the soft bean curd pudding, at Chinese-Malaysian stalls and shops.

What sits beside it on the counter

In Ipoh, many tau fu fah shops sell cold soy milk as well, and the syrup is a choice rather than a given: white sugar, brown sugar, ginger, pandan or gula melaka. Toppings such as cincau (grass jelly), peanuts and red beans appear on the counter, and some shops pour black soybean milk alongside the pale kind. The tau fu fah itself usually comes warm. This is how Ipoh does it.

The neighbours are close but distinct. Tau fu fah is soy milk that has been set with a coagulant into a pudding, eaten with a spoon. Across China, Taiwan, Hong Kong, Malaysia and Singapore, doujiang is an everyday drink, and in China and Taiwan it is also taken savoury and eaten with fried dough. The Malaysian glass leans sweet, and Singapore shares much of the same soy milk culture.

Syrup on the side

At the counter, the syrup decides the drink. Ginger syrup gives a warm bite that suits a hot cup; gula melaka gives a darker, caramel-edged sweetness that suits ice. Serving it separately lets each person set their own sweetness.


Ingredients

Dried soybeans, a measuring jug of water, pandan leaves, sugar, ginger and palm sugar laid out on a counter
Keep the two pandan bundles for the milk apart from the three for the palm sugar syrup
Allergen information

This drink is made from soybeans. If you add store-bought grass jelly or other toppings, read the label on the product you buy for allergens and additives.

Equipment

  • Large bowl for soaking
  • Blender
  • Fine cheesecloth or a nut-milk bag
  • Sieve or colander
  • Heavy pot of at least 3¼ quarts (3 L)
  • Wooden spatula
  • Skimmer or slotted spoon
  • Two small saucepans for the syrups
  • Kitchen thermometer
  • Clean containers or bottles with lids

Buying and Swapping

Dried yellow soybeans are the base; large ones are easy to handle. Green or black soybeans change the colour and the flavour, so the glass becomes a different drink. Fresh mature ginger works better than young ginger, and the amount stays as listed, since ginger gets sharp quickly. Ordinary white sugar is right for the ginger syrup.

Pandan is the one ingredient to track down. Frozen or dried leaves are sold at Southeast Asian grocers and online, frozen being the most common. Without it the soy milk loses its main aroma and tastes of bean alone; there is no stand-in that brings the same smell. Gula melaka comes in blocks and as powder at the same shops. Okinawan black sugar (kokuto) is the closest swap, though it shifts the colour and the kind of sweetness. If you want cincau, buy it ready-made.


Method

The soak starts the night before, in the fridge. Make both syrups during the soak; they thicken as they cool and wait in their jugs until the milk is ready. The next day, blending and pressing take steady hands but no heat, and then the stove needs your full attention: the milk scorches if left unstirred and boils over once the foam rises. Have your containers and thermometer out before you start the boil, because cooling the leftovers follows straight on.

When It Goes Wrong

What you see Why What to do
Foam pours over the rim Soy milk swells with foam as it heats Use a pot with plenty of room, lower the heat and skim. Keep it at a boil underneath
A burnt smell, brown flecks from the bottom The milk sat unstirred and caught Lower the heat at the first whiff. If it has scorched, start again; the burnt taste does not leave
Gritty milk The pressing let fine pulp through Strain again through a clean cloth, or re-blend the pulp and press once more
A strong raw bean taste Too short a soak, too short a boil, or lots of skins Soak the full time and boil the full 10 minutes. Rubbing off loose skins after soaking also helps
Milk separates in the fridge Homemade soy milk has no emulsifier Shake or stir before pouring. Nothing needs adding
Too sweet Syrup went in all at once Keep syrup on the side and add it by the spoonful in each glass

Serving and Variations

At the table

A warm cup with ginger syrup is a morning drink, and it sits easily beside a plate of nasi lemak at breakfast. A tall glass over ice with gula melaka belongs to the hot afternoon or the night market, next to something flaky from the griddle such as roti canai. Put both syrups out when you have company; guests can try one, then the other.

Variations

  • Warm with ginger syrup. The sharp, clean sugar and the ginger's bite cut through the bean and make the hot cup taste brighter.
  • Cold with gula melaka. The dark syrup gives a rounder, deeper sweetness and tints the milk faintly brown.
  • Plain, no syrup. The bean and pandan come forward and the drink tastes fresher and lighter.
  • Topped with cincau. Cubes of grass jelly at the bottom of an iced glass give a cool, slippery bite and turn the glass into something closer to a tau fu fah shop drink.
  • With black soybeans. The milk comes out darker, as in the black soybean milk some shops sell, and the flavour shifts with the bean.

Frequently asked questions

Can I warm the milk gently or use a slow cooker instead of boiling?

No. Gentle heat does not break down the lectin in raw beans; beans held at 185°F (85°C) for an hour still kept it. Slow cookers never reach the vigorous boil that does the job. The 10-minute rolling boil on the stove is the step that makes the milk safe to drink.

How is this different from soy milk in a carton?

This milk is only beans, water and pandan. Carton soy milk is built for long shelf life, often with emulsifiers and added nutrients, so it stays blended and keeps longer; check the label of the one you buy for what is in it. Homemade milk tastes more of the bean and separates as it stands.

Can I turn this milk into tau fu fah?

The same milk is the base, but setting it into a pudding takes a coagulant and its own method, which is a separate recipe. This milk is made for drinking.

Is there a savoury way to drink it?

Yes. In China and Taiwan, doujiang is also eaten savoury, often with fried dough. The Malaysian glass is the sweet one, built around ginger or gula melaka syrup, so this milk stays unsalted and unsweetened until it reaches the glass.

Sources

  • Huang Kitchen / Angie Liew, "Homemade Soy Milk 豆浆." Proportions of soybeans, water and pandan; blending in two batches, pressing through cloth and heating with constant stirring; the ginger syrup and palm sugar syrup; warm and cold serving; soy milk as the base for tofu and yuba. https://huangkitchen.com/homemade-soy-milk/
  • Centre for Food Safety, Food and Environmental Hygiene Department, Hong Kong SAR, "Bacillus cereus in Soybean Milk (Food Safety Focus 174th Issue)." Short shelf life of soy milk, spores that survive ordinary heating, cooling to 20°C within 2 hours and 4°C within the next 4 hours, cold storage at 4°C or below, hot holding at 60°C or above and reheating to 75°C. https://www.cfs.gov.hk/english/multimedia/multimedia_pub/multimedia_pub_fsf_174_01.html
  • Centre for Food Safety, Food and Environmental Hygiene Department, Hong Kong SAR, "Phytohaemagglutinin Poisoning (Food Safety Bulletin 97th Issue)." Lectin in beans including soybeans, soaking for at least 12 hours and boiling vigorously for at least 10 minutes, survival of the toxin at 85°C and in slow cookers, symptoms. https://www.cfs.gov.hk/english/multimedia/multimedia_pub/multimedia_pub_fsb_202402.html
  • Free Malaysia Today / Low Bee Yinn, "How to make delicious soy milk at home." Doujiang as an everyday drink in China, Taiwan, Hong Kong, Malaysia and Singapore, sweet and savoury ways of drinking it, and soy milk as the base for tofu and yuba. https://www.freemalaysiatoday.com/category/leisure/2020/05/08/how-to-make-delicious-soy-milk-at-home
  • Travelswithsun / Janice Yong, "7 Famous Tau Foo Fah In Ipoh – Must-Try Local Dessert." Ipoh tau fu fah shops selling cold soy milk, the range of syrups, toppings such as cincau, black soybean milk, and warm tau fu fah. https://travelswithsun.com/ipoh-tau-fu-fah