Halo-Halo (Filipino Shaved Ice Dessert)

Shaved ice, fruit, tapioca pearls, evaporated milk, ube ice cream, and leche flan.


Rezel Kealoha

Why It Works

  • Making Saba bananas and jackfruit in syrup extends the fruits’ shelf life and the flavorful syrups can be used for other purposes.
  • Using shaved ice allows for easier mixing and eating, guaranteeing a dispersal of flavors and textures throughout the halo-halo.

Halo-halo is an iconic Filipino shaved ice dessert that's assembled in a tall glass and mixed by the diner with a long-handled spoon upon arrival—the name means "mix-mix." Each creamy and refreshing bite is packed with flavors and textures due to a myriad of add-ins, like crunchy toasted pinipig (pounded young rice), soft sweetened Saba bananas (a native banana cultivar), and chewy nata de coco (coconut jelly). 

The Origins of Halo-Halo

Halo-halo's origins can be traced back to Japan. Flourishing trade between the two countries brought over sweet desserts like mitsumame, a combination of cubed jelly, fresh fruit, and red adzuki beans, and kakigori, a shaved iced dessert sweetened with fruit syrup and condensed milk then topped with mochi, fruit, and sweet adzuki bean paste. When Japan occupied the Philippines in the late 19th century, Japanese settlers started selling a sweet creation called mong-ya, similar to mitsumame but with the inclusion of mung beans, and it was an instant hit in the metro Manila area. Filipinos adapted the dessert to suit their tastes—adding fruit preserved in simple syrup, cubed jelly, leche flan (baked custard), and ube ice cream—and halo-halo was born. 

Each region has their own version of halo-halo showcasing a kaleidoscope of add-ins—from sago (tapioca pearls in syrup) and macapuno (coconut sport strings in syrup) to colorful kaong (sugar palm fruit jelly). In some places, they even add shredded cheese, cornflakes, or polvorón, a crumbly shortbread flavored with cashews, pinipig, ube, or chocolate. Needless to say, It’s an endlessly customizable dessert.

Halo-Halo Add-Ins

halo-halo add-ins

Rezel Kealoha

The ultimate halo-halo for me consists of layers of red and green kaong, sago, nata de coco, Saba bananas in syrup (minatamis na saging), jackfruit in syrup (minatamis na langka), macapuno, monggo beans (red mung beans in syrup), sweet chickpeas, white kidney beans, ube halaya (purple yam jam), nata de pina (pineapple jelly), ube ice cream, leche flan, evaporated milk, and a heaping spoonful of pinipig showered over the top.

I recognize that this is may be overly ambitious for people making halo-halo at home, and so I decided to offer a pared-down version that highlights the best of what the dessert has to offer: sago, Saba bananas in syrup, jackfruit in syrup, evaporated milk, ube ice cream, and leche flan sandwiched between and and placed atop layers of freshly shaved ice. Instead of relying on store-bought versions (which are fine to use in pinch), I’ve developed recipes for sago, saba bananas in syrup, and jackfruit in syrup, which you’ll find below. 

For the Saba bananas and jackfruit in syrup, I simply boil the fruit in sweetened water until the water reduces slightly; I then cool the mixture at room temperature before being putting it into the fridge. For the sago, I also begin by cooking the tapioca pearls in sweetened water, then I remove the cooked pearls and continue to simmer the syrup until it’s mostly reduced and right at the end I flavor it with pandan extract; the pearls and syrup are then combined and chilled. Although each component is relatively easy to prepare, they must be thoroughly chilled before being used as a topping for the shaved ice. 

If you’d like to add other things, I typically recommend that you add about a tablespoon of each add-in per serving.

How to Assemble Halo-Halo

Once your add-ins are ready, shave your ice and begin to layer each component in a tall glass. Start with a little shaved ice then alternate between adding the Saba bananas, jackfruit, sago, and other add-ins. Top with the rest of the ice, evaporated milk, leche flan, and ube ice cream. Serve right away with a long-handled spoon, mix, and enjoy; you’ll find a surprise in every bite.


See How You Can Make Traditional Filipino Halo-Halo at Home

Recipe Facts

Prep: 10 mins
Cook: 115 mins
Total: 2 hrs 5 mins
Serves: 1 serving

Rate & Comment


  • For the Saba Bananas in Syrup (Minatamis na Saging):
  • 2 cups (475ml) water
  • 5 1/2 ounces granulated sugar (3/4 cup; 155g)
  • 2 Saba bananas (225g), peeled, halved lengthwise, and cut into 1/2-inch thick slices on a bias (see note)
  • For the Jackfruit in Syrup (Minatamis na Langka):
  • 3/4 cup (175ml) water
  • 2 3/4 ounces granulated sugar (1/4 cup plus 2 tablespoons; 80g)
  • 4 ounces (115g) ripe jackfruit, cut into 1/2-inch thick strips (see note)
  • For the Tapioca Pearls in Syrup (Sago):
  • 2 quarts (1.9L) water
  • 1 ounce (3 tablespoons; 30g) large white tapioca pearls
  • 6 ounces (3/4 cup; 170g) dark brown sugar
  • 1 teaspoon pandan extract (see note)
  • For Assembling the Halo-Halo: 
  • Scant 1 cup (120g) ice cubes
  • 1 ounce evaporated milk (2 tablespoons; 30g) 
  • Other add-ins, as desired
  • 1-inch square leche flan
  • 2-ounce scoop ube ice cream


  1. For the Saba Bananas in Syrup (Minatamis na Saging): In a 2-quart saucepan, combine water and sugar. Bring to a boil over high heat. Add bananas and lower heat to maintain a steady simmer. Cook until syrup has slightly reduced, about 20 minutes. Remove from heat, transfer to heatproof medium bowl (you should have about 2 1/2 cups; 650g), and let cool to room temperature, about 45 minutes. Cover and refrigerate until cold, about 2 hours. Clean saucepan.

    Saba bananas in syrup

    Rezel Kealoha

  2. For the Jackfruit in Syrup (Minatamis na Langka): In now-clean saucepan, add water and sugar. Bring to a boil over high heat. Add jackfruit and lower heat to maintain a steady simmer. Cook until syrup has slightly reduced and thickened in consistency, about 8 minutes. Remove from heat and let cool to room temperature, about 30 minutes. Transfer to an airtight container (you should have about 1 cup; 285g) and refrigerate until cold, about 2 hours. 

    jackfruit in syrup

    Rezel Kealoha

  3. For the Tapioca Pearls in Syrup (Sago): In a 4-quart saucepan, bring water to a boil over high heat. Add tapioca pearls and cook, stirring occasionally and scraping the bottom, until tapioca pearls have started to become translucent, about 30 minutes. Add sugar and continue to cook, stirring occasionally, until tapioca pearls are translucent and chewy, about 20 minutes. Strain mixture through a fine-mesh strainer set over a large heatproof bowl; return strained sugar-water mixture to saucepan. Rinse tapioca pearls under cold running water; set aside.

    strained tapioca pearls

    Rezel Kealoha

  4. Bring sugar-water mixture in saucepan to a boil over high heat. Lower heat to maintain a simmer and cook until reduced by roughly half, about 15 minutes. Stir in pandan extract. Remove from heat and let cool to room temperature, about 45 minutes. Combine tapioca pearls and syrup in an airtight container (you should have about 3 cups; 725g total) and refrigerate until cold, about 2 hours.  

    tapioca pearls in syrup

    Rezel Kealoha

  5. To Assemble Halo-Halo: In a blender or ice shaver, blend ice until small and fine in texture. In a tall, 12-ounce glass, add half of the ice, then add 2 tablespoons each of Saba bananas, jackfruit, and tapioca pearls, and other add-ins of your choice, except leche flan and ube ice cream, until glass is 3/4 full. Top with remaining ice, evaporated milk, leche flan, and ube ice cream. Serve immediately with a long handle spoon. 

    assembling halo-halo

    Rezel Kealoha

Special Equipment

2- and 4-quart saucepan, ice shaver or blender, 12-ounce tall glass


Saba bananas are endemic to the Philippines and are considered a cooking banana, although they can be eaten raw as well. Fresh or frozen Saba bananas can be found in Filipino and Asian markets. If using frozen Saba bananas, defrost in the refrigerator overnight. Fresh ripe plantains ("maduros") that are primarily black with spots of yellow can also be used as a substitute.

Jackfruit can be found fresh in Asian markets. The ripe fruit has internal orange “petals” that surround a large, brown, edible seed. When preparing jackfruit, make sure to oil your hands before handling the fruit, which secretes a sticky white sap when cut that can be tricky to wash off. The other option is to use gloves (I recommend oiling the gloves as well). If fresh jackfruit is unavailable, substitute with canned jackfruit in syrup, which can be found in Asian markets and online (using this would replace making the jackfruit in syrup in Step 2, just be sure to cut the jackfruit into 1/2-inch thick strips before adding to the halo-halo). 

Pandan extract has a mild grassy vanilla flavor with hints of coconut. It is sold in many Asian supermarkets and online.

Make-ahead and Storage

Saba bananas in syrup, jackfruit in syrup, and tapioca pearls in syrup can be prepared ahead of time and refrigerated in separate airtight containers for up to 3 weeks.