Healthy Halo-Halo Recipe with Ube Ice Cream and Leche Flan

Halo-halo means mix-mix in Filipino, which is both a description and an instruction. This is a dessert that is supposed to be chaotic. A tall glass filled with shaved ice, various sweet preserved fruits and beans, a slice of leche flan balanced on top, a scoop of ube ice cream crowning everything, and a drizzle of evaporated milk poured over before you are handed a long spoon and told to mix it all together before eating. The resulting combination, cold, sweet, creamy, chewy and crunchy all at once, is genuinely unlike anything in other dessert traditions. This healthier version uses reduced-sugar versions of the components and replaces the full evaporated milk with a lighter coconut milk drizzle.
Why this recipe works
The appeal of halo-halo is entirely about contrast and combination. The shaved ice provides the cold, neutral base that cools the whole glass and begins to melt into the other ingredients as you eat. Ube, the purple yam that is fundamental to Filipino dessert culture, provides the vivid purple ice cream layer with its distinctive, subtly sweet and nutty flavour. Leche flan, a dense, silky custard made from egg yolks and evaporated milk, provides richness and a caramelised sweetness. The preserved beans and fruits, typically sweetened red beans, nata de coco and jackfruit, contribute texture and variety. The combination only makes sense when you mix it all together, which is the point.
Getting it right
Shave or crush the ice as finely as possible. Coarse ice chunks create an unpleasant, mouth-numbing eating experience rather than the soft, cloud-like base the dessert needs. If a shaved ice machine is unavailable, process ice in a blender in short pulses until it is powdery.
Layer the components with intention. The leche flan goes on top, the ice cream on top of that, and the drizzle at the very last moment before serving.
Common mistakes
Assembling too far in advance results in melted ice and a collapsed structure before the glass reaches the table. Halo-halo must be assembled immediately before serving.
Not mixing before eating is technically a personal preference, but anyone who does not mix misses the entire point of the dessert.
Substitutions
Ube halaya, the jam rather than the ice cream, can be used in place of ube ice cream for a thicker, more concentrated purple layer. Coconut milk ice cream with a small amount of purple food colouring approximates ube ice cream if the real thing is unavailable. Sweetened azuki beans are the closest substitute for the traditional Filipino sweetened red beans.
Serving suggestion
Serve in the tallest glass you own. Eat immediately, mixing thoroughly before the first spoonful. Best enjoyed in warm weather, ideally outdoors.
Ingredients
- 400 g frozen purple yam (ube) (thawed and mashed, or ube halaya with no added sugar)
- 400 ml full-fat coconut milk (chilled overnight)
- 1 large ripe frozen banana (peeled and sliced before freezing)
- 3 tbsp pure maple syrup (divided, use 2 tbsp for ice cream and 1 tbsp for flan caramel)
- 1 tsp pure ube extract (deepens the purple colour naturally)
- 3 large egg yolks (for the leche flan)
- 2 large whole eggs (for the leche flan)
- 360 ml low-fat evaporated milk (one standard can)
- 3 tbsp coconut sugar (for the flan caramel base)
- 1 tsp pure vanilla extract (for the leche flan)
- 1 litre coconut water (plain, unsweetened, frozen into ice cubes then shaved)
- 200 g cooked red kidney beans (drained and rinsed, no added sugar or salt)
- 150 g grass jelly (cut into small cubes)
- 1 medium ripe mango (peeled and diced small)
- 100 g fresh jackfruit (cut into small pieces, canned in water is fine if fresh unavailable)
- 2 small ripe bananas (sliced, for layering in the glass)
- 120 ml unsweetened evaporated coconut milk (to drizzle over each glass before serving)
- 1 tbsp water (for loosening the caramel in the flan mould)
Instructions
- 1
Make the ube ice cream base first since it needs the longest freezing time. Scoop the chilled coconut cream from the top of the overnight-refrigerated coconut milk tin into a blender. Add the thawed mashed ube, frozen banana slices, 2 tablespoons of maple syrup and the ube extract. Blend on high for about 90 seconds until completely smooth and creamy.
Chilling the coconut milk overnight separates the thick cream from the liquid. Use only the solid cream for a richer, scoopable ice cream.
- 2
Pour the blended ube mixture into a shallow, freezer-safe container. Smooth the top with a spatula and cover with a lid or tight layer of cling film pressed directly onto the surface to prevent ice crystals. Freeze for at least 4 hours or overnight.
Stir the mixture with a fork every 45 minutes during the first 2 hours of freezing for a creamier, less icy texture.
- 3
While the ice cream sets, prepare the leche flan. Preheat your oven to 160 degrees Celsius. To make the caramel, combine the coconut sugar and 1 tablespoon of maple syrup in a small saucepan over medium heat. Stir gently until the sugar dissolves and the mixture turns a deep amber colour, about 4 to 5 minutes. Add 1 tablespoon of water carefully, swirl to combine, then quickly pour the caramel into the base of a lightly greased small loaf tin or 4 individual ramekins. Tilt to coat the base evenly and set aside to cool.
Coconut sugar caramel can darken quickly. Keep a close eye on it and remove from heat as soon as it smells like toffee to avoid bitterness.
- 4
In a mixing bowl, whisk together the 3 egg yolks and 2 whole eggs until just combined. Do not over-whisk as you want to avoid adding too many air bubbles. Gently stir in the evaporated milk and vanilla extract until smooth. Pour this custard mixture through a fine mesh sieve directly over the set caramel in your tin or ramekins.
Straining the custard removes any chalazae or air bubbles and gives you a silky, smooth flan surface.
- 5
Place the tin or ramekins into a deep baking dish. Pour hot water into the baking dish until it reaches halfway up the sides of the flan moulds. Cover the entire baking dish loosely with foil. Bake in the preheated oven for 35 to 40 minutes until the edges are set but the centre still has a slight jiggle.
The water bath, called a bain-marie, ensures even, gentle heat that prevents the custard from curdling or developing a rubbery texture.
- 6
Remove the flan from the water bath and allow it to cool completely at room temperature for about 30 minutes. Then refrigerate for at least 2 hours until fully chilled and firm. When ready to serve, run a thin knife around the edge of each ramekin and invert onto a small plate so the caramel side faces up.
If the flan sticks, place the base of the ramekin in a shallow dish of warm water for 20 seconds to loosen the caramel.
- 7
Prepare the shaved ice about 30 minutes before serving. Freeze the coconut water in a shallow tray until solid, then use a fork to scrape it vigorously into fluffy shavings, or process the frozen coconut water cubes in a blender in short pulses until you have a snow-like consistency. Keep in the freezer until assembly time.
For the fluffiest texture, freeze the coconut water in a thin layer rather than a deep block. It shaves much more easily.
- 8
Assemble each halo-halo glass just before serving. Start with a layer of kidney beans and grass jelly cubes at the bottom of each tall glass. Add a generous layer of shaved coconut water ice on top. Arrange the fresh mango, jackfruit and sliced banana around the sides of the glass so the colours are visible from outside. Pour 2 tablespoons of unsweetened evaporated coconut milk over the ice. Place a slice or portion of leche flan on top of the ice. Finish with a generous scoop of ube ice cream.
Serve immediately and hand guests a long spoon so they can mix everything from top to bottom before eating, which is the traditional and most delicious way to enjoy it.
Nutrition per serving
298kcal
Calories
9g
Protein
42g
Carbs
11g
Fat
6g
Fibre
22g
Sugar
115mg
Sodium
Pro Tips
- ✓
Both the ube ice cream and the leche flan can be made up to 3 days ahead, making same-day assembly very quick.
- ✓
Taste the ube ice cream base before freezing and adjust sweetness with an extra teaspoon of maple syrup if your yam is not very sweet.
- ✓
Use the freshest, ripest mango and banana you can find as their natural sweetness is doing a lot of the flavour work here.
- ✓
For a more vibrant purple ice cream colour, increase the ube extract by half a teaspoon rather than adding more food colouring.
- ✓
If you cannot find fresh ube, purple sweet potato gives a very similar result with slightly less floral flavour but comparable nutrition.
- ✓
Shave the coconut water ice finely for the best texture. Large ice chunks melt unevenly and dilute the other toppings too quickly.
Frequently Asked Questions
Variations
- •
Vegan Halo-Halo
Replace the leche flan with a coconut milk and agar-agar set custard using turmeric for a golden colour. The ube ice cream is already vegan as written. Use maple syrup throughout and skip the eggs entirely.
- •
High-Protein Version
Blend a scoop of unflavoured or vanilla plant-based protein powder into the ube ice cream base. Swap the kidney beans for edamame, which are higher in protein and equally delicious in a cold dessert context.
- •
Tropical Fruit Halo-Halo
Swap the mango and jackfruit for fresh lychee, pineapple chunks and ripe kiwi for a different tropical flavour profile. All three fruits add vitamin C and natural sweetness with no syrup needed.
- •
Mini Halo-Halo Cups
Serve in small clear cups rather than tall glasses for a dessert buffet or children's party. Reduce each serving to half the quantity and use a small melon baller for the ube ice cream portion.
Substitutions
- •Fresh purple yam (ube) → Purple sweet potato (Very similar nutritional profile and colour. The flavour is slightly less floral but works beautifully in the ice cream.)
- •Full-fat coconut milk → Cashew cream (Soak 150g raw cashews overnight, drain and blend with 120ml water until silky. Gives a similarly rich ice cream base.)
- •Low-fat evaporated milk → Evaporated coconut milk (Makes the leche flan dairy-free. The texture is slightly softer but the flavour is delicious.)
- •Coconut sugar → Raw honey (Use the same quantity. Honey caramelises quickly so watch the heat carefully. Not suitable for vegan guests.)
- •Grass jelly → Agar-agar green tea jelly (Brew strong green tea, dissolve agar-agar per packet instructions and set in a tray. Cut into cubes once firm.)
- •Red kidney beans → Sweetened black-eyed peas or mung beans (Both are traditional Filipino halo-halo additions. Cook from dry with a tiny pinch of coconut sugar for a gentle flavour.)
🧊 Storage
The assembled halo-halo should be served immediately as the shaved ice melts quickly. Leftover ube ice cream keeps in the freezer for up to 2 weeks in an airtight container. Leftover leche flan keeps in the fridge for up to 3 days, covered tightly. Prepped toppings like kidney beans and cut fruit keep in the fridge for up to 2 days in separate sealed containers.
📅 Make Ahead
The ube ice cream can be made up to 3 days ahead and stored in the freezer. The leche flan can be baked and chilled up to 3 days in advance. The coconut water can be frozen in its tray up to a week ahead. On serving day, all you need to do is shave the ice and assemble the glasses, which takes under 10 minutes.
More Filipino Desserts Recipes

Low Sugar Filipino Yema Recipe: Creamy Egg Yolk Candy with Coconut Milk

Baked Banana Lumpia Turon Recipe No Fry (Crispy and Guilt-Free)

Low Sugar Biko Recipe: Filipino Sticky Rice Cake with Coconut Caramel
