[{"data":1,"prerenderedAt":435},["ShallowReactive",2],{"recipe:halo-halo":3,"recipe:country:philippines":217},{"slug":4,"title":5,"nativeName":6,"pronunciation":7,"countrySlug":8,"emoji":9,"summary":10,"intro":11,"story":12,"whyThis":13,"tips":18,"substitutions":25,"variations":42,"serveWith":52,"storage":54,"faq":55,"equipment":74,"baseServings":80,"prepMinutes":81,"cookMinutes":81,"restMinutes":82,"difficulty":83,"course":84,"diet":86,"mainIngredients":90,"ingredients":94,"instructions":160,"nutrition":192,"images":199,"keywords":209,"publishedAt":215,"updatedAt":215,"authorSlug":216},"halo-halo","Halo-Halo (Filipino Shaved Ice with Beans and Flan)","Halo-halo","HAH-loh HAH-loh","philippines","🍨","A tall glass loaded with sweet beans, jackfruit, nata de coco, ube jam and leche flan, buried under shaved ice and evaporated milk — then mashed to a mess before eating.","Halo-halo is a glass of shaved ice sitting on a heap of sweetened things: red beans, chewy cubes of nata de coco, sugar palm fruit, strands of jackfruit in syrup, a stripe of ube jam, and a cube of leche flan balanced on top. Evaporated milk goes over it at the table and the whole thing is immediately stirred into rubble — the name means mix-mix, and it is an instruction rather than a description. The taste is milky and cold with pockets of very different sweetness, and the pleasure is textural: soft, chewy, slippery, crunchy and icy all arriving in the same spoonful.","The trail back from halo-halo leads, most historians agree, to Japanese migrants who settled in Manila in the decades before the Second World War. They ran small shops selling kakigōri — Japanese shaved ice — and a version topped with sweetened mung beans that Filipinos knew as monggo con hielo, beans with ice. The refrigeration technology arrived with them, and the format did too. What happened afterwards was entirely Filipino: the beans multiplied into several kinds, the local sweets and preserves that already lived in every pantry got tipped in, and by the post-war decades the restrained Japanese original had become the maximalist thing it is now.\n\nThat maximalism is the point of contention. Halo-halo is not a fixed recipe but a shelf: whatever your household stocks in jars goes in. Nata de coco and kaong, macapuno, sweetened saba banana, jackfruit, sweet corn, purple yam jam, sago pearls, toasted pinipig rice flakes, leche flan, a scoop of ube ice cream on top if the budget allows. Some cooks argue the dish has been ruined by additions and that the older, plainer version was better — Pampanga is known for a deliberately minimal style, most famously at Razon's, which uses only macapuno, sweetened saba and leche flan and nothing else, and has a devoted following precisely because of what it leaves out. Elsewhere, the pile keeps growing.\n\nIt is summer food in a country whose summer is punishing. Halo-halo appears in April and May at sari-sari stores, roadside stalls and shopping malls, and it is one of the very few Filipino dishes that everyone from a street vendor to a national fast food chain sells in essentially the same form. The ritual around it matters more than the ingredient list: it arrives layered and beautiful, and the first thing you are expected to do is destroy that, working the spoon down to the bottom until the milk has picked up the ube and the whole glass is a uniform lilac-grey. Eating it in neat layers marks you out immediately as someone who has not done this before.",[14,15,16,17],"Assembly order and chilling discipline spelled out, since a warm glass or undrained syrup is what turns halo-halo into soup.","A steamed leche flan sized for four glasses rather than a whole cake, so the best component is not the one you skip.","Names every jarred item and says plainly which are worth hunting down and which are padding.","Treats it as the mixed dish it is, not a layered parfait to be photographed and eaten in strata.",[19,20,21,22,23,24],"Drain the jarred sweets in a sieve for a good ten minutes. The syrup clinging to nata de coco and kaong is what floods the glass and makes everything taste the same.","Chill every single component to fridge-cold and put the glasses in the freezer for fifteen minutes beforehand. Ice hitting a room-temperature glass is already melting before you pour the milk.","Shave the ice as fine as your equipment allows. Snow packs around the sweets and holds the milk; chunks leave hollow gaps and slide off the spoon.","Smear the ube halaya up the inside wall of the glass rather than dropping it in the middle. It looks better through the glass and it distributes more evenly when stirred.","Steam the leche flan rather than baking it, and keep the heat gentle. A hard boil pushes the custard into bubbles and gives you a pitted, spongy texture instead of a dense one.","Pour the evaporated milk at the table, not in the kitchen. Poured early it sinks and the ice above it stays plain.",[26,30,34,38],{"original":27,"swap":28,"note":29},"Ube halaya (purple yam jam)","Sweet potato mashed with condensed milk and butter, or a scoop of ube ice cream on top instead","Bottled ube halaya is sold in every Filipino grocery and freezes well. Taro paste is the closest supermarket stand-in and tastes similar but is far less sweet.",{"original":31,"swap":32,"note":33},"Kaong and nata de coco","Any two chewy jarred sweets — sweetened jackfruit, palm seeds, sago pearls, or lychee","The role they play is texture, not flavour. What you cannot substitute is chewiness: a glass with only soft components is dull to eat.",{"original":35,"swap":36,"note":37},"Homemade leche flan","A shop-bought flan, cut into cubes","Filipino groceries sell it in foil trays. It is the single component most worth including, home-made or not.",{"original":39,"swap":40,"note":41},"Evaporated milk","Whole milk with 2 tbsp condensed milk stirred in, or coconut milk for a dairy-free glass","Evaporated milk is used because it is concentrated enough to survive dilution by melting ice. Plain milk goes watery fast.",[43,46,49],{"name":44,"description":45},"Pampanga style","Stripped back to three things — macapuno, sweetened saba banana and leche flan — with milk and ice and nothing else. Fewer ingredients, more strongly flavoured milk.",{"name":47,"description":48},"Mais con hielo","The one-ingredient ancestor still sold everywhere: sweet corn, shaved ice and milk in a glass. Takes two minutes and is genuinely good.",{"name":50,"description":51},"Halo-halo sundae","Built in a bowl with the ice cream underneath rather than on top, so it half-melts into the milk and thickens the base as you dig down.",[53],"A long spoon and a long-handled teaspoon; nothing else. It is eaten mid-afternoon, on its own, in the heat.","The assembled glass has no shelf life at all — it is a puddle in twenty minutes and cannot be refrigerated or saved. Everything that goes into it, though, stores well. Sweetened beans keep a week in the fridge in their syrup. Leche flan keeps four days covered and is arguably better on day two, when it has firmed up and the caramel has fully dissolved into a sauce. Opened jars of nata de coco, kaong and macapuno keep two to three weeks refrigerated in their own liquid. Ube halaya keeps two weeks in the fridge and freezes for three months. Set the whole lot out in bowls and let people build their own rather than trying to assemble in advance.",[56,59,62,65,68,71],{"question":57,"answer":58},"What is ube and is it the same as taro?","No, though they are constantly confused. Ube is a purple yam, deep violet all the way through, sweet and slightly vanilla-like, and it is usually sold already cooked into a jam called ube halaya. Taro is a corm with pale flesh flecked lilac, and it tastes starchier and much less sweet. Recipes and products labelled taro in Western supermarkets are often coloured to look like ube, which does not make them the same thing.",{"question":60,"answer":61},"Do I really need all those jarred ingredients?","No. A perfectly respectable halo-halo can be made with sweetened beans, one chewy element such as nata de coco, ube halaya, ice and evaporated milk. What you are aiming for is a spread of textures rather than a long list — something soft, something chewy, something creamy. The minimalist Pampanga style uses three components and is widely considered among the best in the country.",{"question":63,"answer":64},"Why does my halo-halo turn into a watery mess so quickly?","Three usual causes: the components were not fully chilled, the jarred sweets went in without draining their syrup, or the ice was crushed into chunks rather than shaved into snow. Chunky ice melts into pools of water rather than absorbing the milk. Freeze the glasses, drain everything in a sieve, keep every component in the fridge until the last moment, and it will hold together long enough to eat.",{"question":66,"answer":67},"Do I need a shaved ice machine?","A dedicated shaver gives the best texture, but a high-powered blender pulsed briefly with ice cubes gets close, and so does a food processor. The lowest-tech method works well too: freeze water in a shallow tray, then scrape the surface hard with a strong metal spoon to raise flakes. Whatever you use, aim for snow rather than gravel.",{"question":69,"answer":70},"How is halo-halo different from cendol or Korean bingsu?","All three are shaved ice desserts and they diverge completely after that. Cendol from Malaysia and Indonesia is built on pandan rice-flour strands, salted coconut milk and palm sugar syrup, and it is a fairly focused combination. Bingsu is generally milk-based ice with one dominant topping like red bean or mango. Halo-halo is deliberately crowded — a dozen sweetened components in one glass — and it is stirred into a mixture rather than eaten in layers.",{"question":72,"answer":73},"Can I make halo-halo ahead for a party?","Only the components. Prepare the leche flan and beans a day or two early, drain the jarred sweets and keep them covered in the fridge, and shave the ice into a container in the freezer just before guests arrive. Then set everything out and let people assemble their own glasses. Anything assembled more than a few minutes in advance arrives at the table as sweet milk with debris in it.",[75,76,77,78,79],"Ice shaver, high-powered blender or food processor","Small metal tin or ramekins for the flan","Steamer with a lid","Fine sieve","Tall glasses and long spoons",4,30,120,"easy",[85],"dessert",[87,88,89],"vegetarian","gluten-free","nut-free",[91,92,93],"condensed-milk","eggs","yam",[95,100,104,107,110,114,118,123,127,128,130,133,137,139,142,144,146,148,150,155,158],{"qty":96,"unit":97,"name":98,"group":99},80,"g","granulated sugar","For the leche flan",{"qty":101,"unit":102,"name":103,"group":99},2,"tbsp","water",{"ref":92,"qty":80,"unit":105,"name":106,"group":99},"piece","egg yolks",{"ref":92,"qty":108,"unit":105,"name":109,"group":99},1,"whole egg",{"ref":91,"qty":111,"unit":112,"name":113,"group":99},200,"ml","sweetened condensed milk",{"ref":115,"qty":116,"unit":112,"name":117,"group":99},"milk",150,"evaporated milk",{"ref":119,"qty":108,"unit":120,"name":121,"optional":122,"group":99},"lime","tsp","finely grated calamansi or lime zest",true,{"qty":124,"unit":97,"name":125,"group":126},250,"cooked red kidney beans, drained","For the sweet beans",{"qty":96,"unit":97,"name":98,"group":126},{"qty":129,"unit":112,"name":103,"group":126},100,{"qty":108,"unit":131,"name":132,"group":126},"pinch","salt",{"qty":134,"unit":102,"name":135,"group":136},8,"nata de coco, drained","From the pantry, drained",{"qty":134,"unit":102,"name":138,"group":136},"kaong (sugar palm fruit), drained",{"qty":140,"unit":102,"name":141,"group":136},6,"macapuno (coconut sport strings), drained",{"qty":134,"unit":102,"name":143,"group":136},"sweetened jackfruit in syrup, sliced thin",{"qty":134,"unit":102,"name":145,"optional":122,"group":136},"sweetened saba banana, sliced",{"ref":93,"qty":134,"unit":102,"name":147,"group":136},"ube halaya (purple yam jam)",{"qty":80,"unit":102,"name":149,"optional":122,"group":136},"pinipig or toasted rice crisps",{"qty":151,"unit":152,"name":153,"noScale":122,"group":154},1.2,"kg","ice, shaved to snow","To finish",{"ref":115,"qty":156,"unit":112,"name":157,"group":154},300,"evaporated milk, fridge-cold",{"qty":80,"unit":105,"name":159,"optional":122,"group":154},"small scoops of ube ice cream",[161,164,168,172,175,179,183,186,189],{"title":162,"text":163},"Caramelise the flan tin","Heat the 80 g sugar with 2 tablespoons of water in a small pan, swirling but not stirring, until it turns deep amber and smells toasted. Pour it straight into a small metal tin or four ramekins and tilt to coat the base before it sets hard, which takes under a minute.",{"title":165,"text":166,"tip":167},"Mix the custard without aerating it","Stir the egg yolks and whole egg together with a fork rather than a whisk — you want them combined, not foamy. Stir in the condensed milk, evaporated milk and zest, then pass the mixture through a fine sieve twice to catch any strands of white. Pour it over the set caramel and cover tightly with foil.","Every air bubble you beat in now shows up as a hole in the finished flan.",{"title":169,"text":170,"timerSeconds":171},"Steam the flan gently","Steam over low, barely trembling water for 25–30 minutes, until the edges are set and the centre only just wobbles as a single mass when you nudge the tin. Cool, then refrigerate at least 2 hours before running a knife round the edge, turning out and cutting into small cubes.",1800,{"title":173,"text":174},"Sweeten the beans","Simmer the drained beans with the sugar, water and salt for 8–10 minutes, until the liquid reduces to a thick syrup that clings to each bean rather than pooling around them. Cool completely and refrigerate — warm beans will melt the ice on contact.",{"title":176,"text":177,"timerSeconds":178},"Drain everything properly","Tip the nata de coco, kaong, macapuno, jackfruit and saba into a sieve and leave them for ten minutes, shaking occasionally, until they stop dripping. Keep the drained sweets covered in the fridge. This step is the difference between halo-halo and sweet soup.",600,{"title":180,"text":181,"timerSeconds":182},"Chill the glasses","Put four tall glasses in the freezer for 15 minutes so they frost over. Check that every component — beans, sweets, flan, milk — is properly fridge-cold before you start building.",900,{"title":184,"text":185},"Layer the base","Spoon the beans into the bottom of each glass, then add the nata de coco, kaong, macapuno, jackfruit and saba in loose layers so you can see them through the glass. Smear 2 tablespoons of ube halaya up one inside wall of each glass.",{"title":187,"text":188},"Mound the ice and top it","Shave the ice to a fine snow and pack it into each glass, heaping it well above the rim so it holds its shape. Set a cube of leche flan on top, add a scoop of ube ice cream if using, and scatter over the pinipig for crunch.",{"title":190,"text":191},"Pour the milk at the table","Carry the glasses out, pour about 75 ml of cold evaporated milk over each one, and hand people a long spoon. Tell them to stir it down to the bottom until the ice, milk and ube collapse into one lilac-grey mixture — that mixing is the dish, and eating it in tidy layers means missing the point.",{"calories":193,"protein":194,"carbs":195,"fat":196,"fiber":197,"sugar":198,"estimated":122},540,12,92,14,5,76,[200,203,205,207],{"src":201,"alt":202},"\u002Fimages\u002Frecipes\u002Fhalo-halo\u002Fhero.jpg","Tall glass of Filipino halo-halo with shaved ice, purple ube jam, leche flan cube and layers of sweet beans and jelly",{"src":204,"alt":202},"\u002Fimages\u002Frecipes\u002Fhalo-halo\u002Fhero-16x9.jpg",{"src":206,"alt":202},"\u002Fimages\u002Frecipes\u002Fhalo-halo\u002Fhero-4x3.jpg",{"src":208,"alt":202},"\u002Fimages\u002Frecipes\u002Fhalo-halo\u002Fhero-1x1.jpg",[4,210,211,212,213,214,117],"filipino dessert","shaved ice","ube halaya","leche flan","nata de coco","2026-08-20","dishroute-kitchen",{"items":218,"total":432,"page":108,"limit":433,"hasMore":434},[219,249,271,278,302,324,347,369,390,412],{"slug":220,"title":221,"nativeName":222,"countrySlug":8,"region":223,"baseServings":80,"prepMinutes":224,"cookMinutes":225,"restMinutes":156,"difficulty":226,"course":227,"diet":229,"mainIngredients":231,"images":238,"keywords":242,"publishedAt":215,"updatedAt":215,"authorSlug":216},"chicken-inasal","Chicken Inasal (Bacolod Charcoal-Grilled Annatto Chicken)","Inasal na manok","Negros Occidental",25,35,"medium",[228],"main",[230],"dairy-free",[232,233,234,235,236,237],"chicken","lemongrass","ginger","vinegar","achiote","garlic",[239],{"src":240,"alt":241},"\u002Fimages\u002Frecipes\u002Fchicken-inasal\u002Fhero.jpg","Charcoal-grilled chicken inasal quarters with orange annatto-lacquered skin beside garlic rice and a vinegar dip",[243,244,245,246,247,248,8],"chicken inasal","bacolod","grilled chicken","annatto","calamansi","filipino barbecue",{"slug":250,"title":251,"nativeName":252,"countrySlug":8,"baseServings":80,"prepMinutes":253,"cookMinutes":254,"difficulty":83,"course":255,"diet":256,"mainIngredients":257,"images":260,"keywords":264,"publishedAt":215,"updatedAt":215,"authorSlug":216},"filipino-adobo","Filipino Adobo (Soy-Vinegar Braised Chicken and Pork)","Adobong manok at baboy",15,60,[228],[230],[232,258,259,235,237],"pork-belly","soy-sauce",[261],{"src":262,"alt":263},"\u002Fimages\u002Frecipes\u002Ffilipino-adobo\u002Fhero.jpg","Dark glossy Filipino adobo of chicken thighs and pork belly with bay leaves and peppercorns beside steamed rice",[265,266,267,268,269,8,270],"adobo","filipino adobo","soy vinegar braise","pork belly","chicken thighs","braised",{"slug":4,"title":5,"nativeName":6,"countrySlug":8,"baseServings":80,"prepMinutes":81,"cookMinutes":81,"restMinutes":82,"difficulty":83,"course":272,"diet":273,"mainIngredients":274,"images":275,"keywords":277,"publishedAt":215,"updatedAt":215,"authorSlug":216},[85],[87,88,89],[91,92,93],[276],{"src":201,"alt":202},[4,210,211,212,213,214,117],{"slug":279,"title":280,"nativeName":281,"countrySlug":8,"region":282,"baseServings":140,"prepMinutes":283,"cookMinutes":284,"difficulty":285,"course":286,"diet":287,"mainIngredients":288,"images":294,"keywords":298,"publishedAt":215,"updatedAt":215,"authorSlug":216},"kare-kare","Kare-Kare (Filipino Oxtail Peanut Stew)","Kare-kare","Pampanga",40,210,"hard",[228],[230,88],[289,290,291,292,293,236],"oxtail","tripe","peanuts","eggplant","green-beans",[295],{"src":296,"alt":297},"\u002Fimages\u002Frecipes\u002Fkare-kare\u002Fhero.svg","Kare-kare in an earthenware pot: oxtail in thick orange peanut sauce topped with eggplant, long beans and bok choy",[279,299,289,300,246,301,8],"peanut stew","bagoong","filipino fiesta food",{"slug":303,"title":304,"nativeName":305,"countrySlug":8,"region":306,"baseServings":140,"prepMinutes":253,"cookMinutes":307,"difficulty":226,"course":308,"diet":310,"mainIngredients":311,"images":315,"keywords":319,"publishedAt":215,"updatedAt":215,"authorSlug":216},"laing","Laing (Bicol Taro Leaves in Coconut Milk)","Laing","Bicol",55,[309],"side",[230,88],[312,313,314,234,258],"taro","coconut-milk","shrimp-paste",[316],{"src":317,"alt":318},"\u002Fimages\u002Frecipes\u002Flaing\u002Fhero.svg","Dark laing of collapsed taro leaves in coconut milk with whole green chiles and coconut oil pooling on the surface",[303,320,321,322,323,300,8],"taro leaves","coconut milk","bicol","gata",{"slug":325,"title":326,"nativeName":327,"countrySlug":8,"baseServings":80,"prepMinutes":328,"cookMinutes":329,"restMinutes":330,"difficulty":226,"course":331,"diet":332,"mainIngredients":333,"images":336,"keywords":340,"publishedAt":215,"updatedAt":215,"authorSlug":216},"lechon-kawali","Lechon Kawali (Filipino Crispy Fried Pork Belly)","Lechon kawali",20,75,480,[228],[230,88],[258,334,237,235,335],"bay-leaf","black-pepper",[337],{"src":338,"alt":339},"\u002Fimages\u002Frecipes\u002Flechon-kawali\u002Fhero.svg","Chopped lechon kawali with blistered golden pork crackling and juicy fat, beside a saucer of garlic vinegar dip",[341,342,343,344,345,346,8],"lechon kawali","crispy pork belly","pork crackling","filipino pork","deep fried","spiced vinegar",{"slug":348,"title":349,"nativeName":350,"countrySlug":8,"baseServings":140,"prepMinutes":328,"cookMinutes":328,"difficulty":83,"course":351,"diet":352,"mainIngredients":353,"images":358,"keywords":362,"publishedAt":215,"updatedAt":215,"authorSlug":216},"pancit-bihon","Pancit Bihon (Filipino Stir-Fried Rice Noodles)","Pancit bihon guisado",[228],[230],[354,232,355,356,357,259],"rice-noodles","shrimp","cabbage","carrot",[359],{"src":360,"alt":361},"\u002Fimages\u002Frecipes\u002Fpancit-bihon\u002Fhero.svg","Platter of pancit bihon rice noodles with shrimp, chicken strips, carrot matchsticks and cabbage, calamansi wedges alongside",[363,364,365,366,367,368,8],"pancit","pancit bihon","rice noodles","filipino noodles","birthday noodles","stir fry",{"slug":370,"title":371,"nativeName":372,"countrySlug":8,"baseServings":80,"prepMinutes":328,"cookMinutes":373,"difficulty":83,"course":374,"diet":376,"mainIngredients":377,"images":381,"keywords":385,"publishedAt":215,"updatedAt":215,"authorSlug":216},"sinigang","Sinigang na Baboy (Sour Tamarind Pork Soup)","Sinigang na baboy",85,[375,228],"soup",[230,88],[258,378,379,292,380],"tamarind","daikon","okra",[382],{"src":383,"alt":384},"\u002Fimages\u002Frecipes\u002Fsinigang\u002Fhero.svg","Steaming bowl of sinigang na baboy with pork belly, daikon, okra and water spinach in clear sour tamarind broth",[370,386,387,268,388,8,389],"tamarind soup","sour soup","filipino soup","kangkong",{"slug":391,"title":392,"nativeName":393,"countrySlug":8,"region":282,"baseServings":80,"prepMinutes":81,"cookMinutes":394,"difficulty":285,"course":395,"diet":398,"mainIngredients":399,"images":403,"keywords":407,"publishedAt":215,"updatedAt":215,"authorSlug":216},"sisig","Sisig (Sizzling Chopped Pork from Pampanga)","Sisig kapampangan",105,[396,397],"appetizer","street-food",[230],[258,400,401,119,402],"chicken-liver","onion","thai-chili",[404],{"src":405,"alt":406},"\u002Fimages\u002Frecipes\u002Fsisig\u002Fhero.svg","Sizzling cast iron plate of chopped pork sisig with red onion, chopped chiles, calamansi halves and a raw egg on top",[391,408,409,410,411,247,8],"pampanga","sizzling pork","chopped pork","filipino bar food",{"slug":413,"title":414,"nativeName":415,"countrySlug":8,"baseServings":80,"prepMinutes":224,"cookMinutes":224,"restMinutes":330,"difficulty":83,"course":416,"diet":418,"mainIngredients":419,"images":422,"keywords":426,"publishedAt":215,"updatedAt":215,"authorSlug":216},"tapsilog","Tapsilog (Cured Beef Tapa with Garlic Rice and Egg)","Tapsilog",[417,228],"breakfast",[230],[420,421,92,237,259],"beef-brisket","rice",[423],{"src":424,"alt":425},"\u002Fimages\u002Frecipes\u002Ftapsilog\u002Fhero.svg","Tapsilog plate with caramelised beef tapa, garlic fried rice topped with garlic chips and a sunny side up egg",[413,427,428,429,430,431,8],"beef tapa","sinangag","garlic rice","filipino breakfast","silog",10,24,false,1787360060157]