halo-halo

Halo-Halo — the Filipino 'mix-mix' of shaved ice, beans, fruit and ube

Halo-halo is a Filipino cold dessert of shaved ice layered in a tall glass with sweetened beans, fruits, jellies and other toppings — typically red beans, white beans, saba banana, jackfruit, coconut, sago and nata de coco — doused with evaporated milk and crowned with leche flan, ube halaya and a scoop of ube ice cream. Its name means 'mix-mix' in Tagalog, because everything is stirred together before eating.

i. Origin & history

Halo-halo is usually traced to the Japanese community in Manila in the early twentieth century. Before the Second World War, Japanese migrants ran small shops, especially around the Quiapo and Quinta Market area, selling mongo-ya: shaved ice over sweetened red mung beans or azuki beans, a version of Japanese kakigōri. Filipinos adopted it and added their own ingredients, and as the toppings multiplied, the dessert came to be called halo-halo.

Ice itself had been a luxury in the Philippines until ice plants were built during the American colonial period, which made shaved-ice treats possible. Halo-halo then absorbed ingredients from every part of Filipino food history: native fruits and root crops such as saba banana, jackfruit, ube and coconut; Spanish-era leche flan; American-era evaporated milk; and Chinese-influenced beans and jellies.

There is no single correct recipe. Some famous versions are minimal: in Pampanga, the halo-halo of places such as Razon's is known for just a few ingredients — saba banana, macapuno, leche flan — with finely shaved ice and milk. Others are maximalist, with ten or more toppings and ice cream. Fast-food chains, cafés, roadside stalls and home cooks all have their own versions.

Halo-halo is the Philippines' iconic summer dessert, eaten during the hot season from March to May and whenever the heat demands it. It is closely related to other Southeast and East Asian shaved-ice desserts, such as Malaysian ais kacang, Indonesian es teler, Korean bingsu and Japanese kakigōri.

ii. Why the ice must be fine and the toppings cold

The ice is the base of halo-halo, and its texture makes or breaks the dessert. Finely shaved ice, almost snow-like, absorbs the evaporated milk and the syrup from the toppings and melts evenly into a sweet, creamy slush as it is mixed. Coarse crushed ice stays in hard chunks and dilutes the flavours unevenly. A shaved-ice machine or a blender with an ice-crushing setting gives the best result.

The toppings should be chilled before assembly. Room-temperature beans and fruit melt the ice quickly, turning the dessert into a watery soup before it reaches the table. Most toppings are sweetened — beans cooked in syrup, fruit in heavy syrup — so the ice needs only milk, not extra sugar.

Evaporated milk is the classic dressing. It is richer and more concentrated than fresh milk and has a slightly caramelised flavour from heating during its production. Some cooks mix it with condensed milk for extra sweetness.

The layering is about contrast: chewy jellies and sago, soft beans, tender fruit, crisp toasted rice (pinipig), creamy flan and ice cream, and the cold crunch of ice. It is meant to be mixed thoroughly before eating, so that every spoonful has a bit of everything.

iii. Ingredients

Makes 4 servings · scroll the side panel to adjust

  • 80 g sweetened red beans (azuki or kidney)
  • 80 g sweetened white beans or chickpeas
  • 80 g saba banana in syrup (minatamis na saging)
  • 80 g jackfruit (langka) in syrup, sliced
  • 80 g macapuno (coconut sport) strings
  • 80 g nata de coco
  • 60 g cooked sago or red gulaman jelly cubes
  • 600 g finely shaved ice
  • 250 ml evaporated milk, chilled
  • 4 slices leche flan
  • 4 tbsp ube halaya (purple yam jam)
  • 4 scoops ube ice cream
  • 4 tbsp pinipig (toasted rice flakes)

Most toppings are sold ready-prepared in jars at Filipino and Asian grocers: sweetened beans, saba and langka in syrup, macapuno, kaong (sugar-palm fruit) and nata de coco. Use whatever you like or have; five or six toppings plus milk and ice cream is plenty. Leche flan is a firm caramel custard; any crème caramel works. Ube ice cream and ube halaya add the signature purple; vanilla or mango ice cream are also used. Pinipig adds crunch; cornflakes are a common substitute.

iv. Method

  1. Chill all the toppings, the evaporated milk and four tall glasses in the fridge for at least 1 hour.
  2. Drain the toppings of excess syrup, keeping a little to drizzle if you like.
  3. In each glass, layer about 2 tablespoons each of the beans, banana, jackfruit, macapuno, nata de coco and sago or jelly.
  4. Shave the ice just before serving, using a shaved-ice machine or a blender on the ice setting, until fine and snowy.
  5. Pack the shaved ice firmly into each glass, mounding it above the rim.
  6. Pour about 60 ml evaporated milk over each glass, letting it soak into the ice.
  7. Top each with a slice of leche flan, a spoonful of ube halaya and a scoop of ube ice cream. Sprinkle with pinipig.
  8. Serve immediately with a long spoon, and mix everything together before eating.

v. Tips & common mistakes

  • Shave the ice finely. Coarse ice stays in chunks; fine ice melts into a creamy slush.
  • Chill everything first. Warm toppings melt the ice before you can eat it.
  • Drain the syrups. Too much syrup makes the dessert cloyingly sweet and watery.
  • Pack the ice. Loosely piled ice collapses as soon as the milk is poured.
  • Add ice cream last. Put it on just before serving so it holds its shape.
  • Mix before eating. The name means 'mix-mix' — every spoonful should combine ice, milk and toppings.

vi. Variations

Pampanga-style halo-halo uses just a few ingredients, usually saba, macapuno and leche flan, with very fine ice. Halo-halo espesyal adds extra toppings and ice cream. Mais con yelo is a simpler shaved ice with sweetcorn and milk, and saba con yelo uses banana. Modern cafés add mango, cheese ice cream or durian.

Halo-halo's toppings appear across Filipino desserts: try ube ice cream, buko pandan and taho. For other Asian shaved ices see ais kacang, bingsu, kakigōri and es teler.

vii. Serving & storage

Halo-halo is served immediately in tall glasses or bowls with a long spoon, as an afternoon merienda or a dessert on hot days. It is a summer staple from March to May, and it is often shared among friends and family.

Assembled halo-halo cannot be stored — it melts within minutes. The toppings, however, can be prepared ahead and kept in covered containers in the fridge for up to a week. Leche flan keeps for 4–5 days in the fridge, and ube halaya for up to 2 weeks.

viii. Common questions

What is halo-halo?

A Filipino dessert of shaved ice layered with sweetened beans, fruit, jellies and coconut, topped with evaporated milk, leche flan, ube halaya and ube ice cream. It is mixed together before eating.

What does halo-halo mean?

Halo-halo means 'mix-mix' in Tagalog. The name describes how the ingredients are stirred together before eating.

Where did halo-halo originate?

It is generally traced to Japanese migrants in Manila before the Second World War, who sold shaved ice with sweet beans. Filipinos added local ingredients to create halo-halo.

What are the ingredients of halo-halo?

Shaved ice and evaporated milk, with toppings such as sweetened beans, saba banana, jackfruit, macapuno, nata de coco, sago, leche flan, ube halaya, ube ice cream and pinipig.

Can I make halo-halo without a shaved-ice machine?

Yes. A powerful blender with an ice-crushing setting works, or freeze milk in a tray and scrape it with a fork for a granita-style ice.

What is the difference between halo-halo and ais kacang?

Both are shaved-ice desserts with beans and toppings. Halo-halo uses evaporated milk, leche flan and ube; Malaysian ais kacang uses coloured syrups, palm sugar and sweetcorn.