The film opens in the Philippines in the 90s. A young girl named Jo (Kailey Crawford) is new at her school. She is doing a family history project, but she is telling fantastical stories about the fabled “Forgotten Island”, Nakali. It is a magic place that her Lola Fatima (Dolly De Leon) told her about. The other kids make fun of her, especially a boy named Reynaldo. Jo responds by attacking Reynaldo and getting herself sent to the principal’s office. Jo meets another girl named Raissa (Kayla Teruel), who gets herself in trouble as well because she defended Jo’s claims about some of the creatures on Nakali, including the Dreaded Manananggal, a scary vampire demon who can split her body in half. From that moment on, Jo and Raissa become best friends.
Over the years, Raissa spends more time with Jo and Fatima, and Jo no longer feels alone. By the time they graduate high school, Jo and Raissa (now played by H.E.R. and Liza Soberano) are still close, but Lola Fatima passes away.
Jo plans to stay close to Raissa when she goes to college nearby, but Raissa announces to Jo that she is going to Caltech in America. Jo is bummed out but still tries to show support for her best friend. She shows up at a party thrown by Raissa’s parents while dressed in a chicken costume from her job. Raissa’s mom embarrasses her with a slideshow of old kiddie pics, but Jo distracts everyone by dancing to “Baby Got Back”…and accidentally setting the lechon on fire. Raissa laughs but everyone else is unamused. Jo later overhears Raissa’s mom telling her how Jo is basically weighing Raissa down.
Jo sneaks Raissa out of the house so that they can have one last hangout by the beach on a van that they accidentally stranded there as kids. They dance and eat their favorite spicy snacks until Raissa has to be real with Jo about them having to go their separate ways. Suddenly, a sand dollar washes up on the shore, something that Lola had always mentioned regarding Nakali. A portal opens up in the sand, which Jo and Raissa know where it leads. Raissa takes Jo’s hand, and they both jump in.
The ladies find themselves in Nakali, but over 12 hours have passed. Half of Raissa’s hair is gone, and a pair of sentient wings are now stuck to her back. Jo is also missing the sand dollar that could get them home. They find a weredog (half-human/half-dog) named Raww (Dave Franco), who is taped to the tree. He claims that he was with them the night before when they ended up in Nakali. The three then have to hide when Manang (Lea Salonga), the Manananggal, is stalking the area, ready to kill whoever took her wings, but they are able to avoid her.
Raww leads Jo and Raissa to a cat creature named Batiba (Jenny Slate), who collects memories from humans who come upon Nakali in order to send them home. She had taken the ladies’ camera with memories from the night before, confirming they were with Raww. Batiba requests Jo and Raissa’s charm bracelets that are tied to memories of their friendship, but they would have to give up every charm and lose each memory in order to get back. The ladies refuse and try to find the sand dollar to get back instead.
Raww brings the ladies to a market that they were at the night before. He ends up going “full dog” because he comes across a stick and cannot think straight. They talk to a demon baby named Bungi (Manny Jacinto), who has a picture document of the night before. Jo had tried some super spicy food, causing her to breathe (and fart) fire, which explains how Raissa’s hair got burnt off. Jo had also breathed fire on the Duwende, noble warriors who Lola had always warned Jo and Raissa to never disrespect…but Jo breathed fire on the king’s butt.
Bungi joins Jo, Raissa, and Raww to meet the Duwende and their king, Truffle Wuffle (Ronny Chieng). They supposedly have the sand dollar since they took something because of the disrespect they endured. Raissa tries to talk to them properly, but Jo cannot help but call them cute and hug Truffle Wuffle. This leads to the Duwende chasing them off, but they end up getting the Duwende’s chest that they think contains the sand dollar. It actually has a shriveled old merman, who turns handsome when hydrated. He is Prince Mermahn (Kevin McCann), who claims that he knows that the sand dollar is at his kingdom.
The group (calling themselves “The Wild Pack”) ride a large red bird, a Sarimanok, toward their destination. Raww starts to regain sentience, and he suggests that Mermahn can’t be trusted. He also seemingly gives Bungi pink eye because he rubbed his tattooed stomach (which is clearly infected) on his face. The others chastise Raww for his behavior.
The group then meets the Katre, a tribe of tree people led by Datu (Jo Koy). They remembered Jo and Raissa for introducing them to human culture, such as karaoke, so they had a big party from the night before. Meanwhile, Jo and Raww bond over being loners. Manang tracks them down and is angry upon seeing Raissa with her wings. Before she can attack, they are saved by Raww, Bungi, Mermahn, and the Sarimanok. A chase ensues, where Bungi gets separated from the group, and Mermahn gets hit with a truth potion the group acquired in the market. The Duwende ride in for another attack, but they are able to get them to collide with Manang to get everyone off their trail.
Mermahn admits that he never knew where the sand dollar was, and he just lied to Jo and Raissa because they were indifferent to his looks and charms the night before. It is also revealed that Raww was working with Batiba to get Jo and Raissa’s memories, since she is a memory demon who takes valued memories from other since she is too scared to make her own, and she has even stolen from Manang. Jo and Raissa go back to Batiba’s cave together, where they see in Batiba’s eyes that Jo hid the sand dollar specifically so that they couldn’t leave since she is still upset over Raissa leaving. Raissa goes to look for the sand dollar and tells Jo that she never wants to see her again when they return home.
Raissa flies to Manang’s domain. She locates the sand dollar where Jo hid it, but Manang tries to attack Raissa. She tells Manang that it was Batiba who stole from her, which only enrages Manang and draws her anger towards Batiba. She gets her wings back and flies toward the cave.
Raissa makes it back to the cave with the sand dollar. When she tries to get Jo to go back with her, Jo says she can’t, because she made a deal with Batiba for Raissa to go back, on the condition that Jo give up all her memories of their friendship. Raissa tries to stop them, but Batiba pushes her back through the portal. Raissa ends up back on the beach, with her plane to California flying overhead. Raissa feels defeated and like she just betrayed her best friend, but her charm bracelet starts to glow, and a portal to Nakali re-opens.
Raissa returns to Nakali and frees Raww to help get back to Batiba’s cave. Raww gets Bungi and Mermahn to help fight back against Manang, who is trying to break into the cave. Raissa gets inside and gets under Batiba’s paws so she can get into Jo’s memories. Nearly all of them are gone until they reach the moment that the girls first met. Raissa talks to young Jo and promises not to forget her. Jo’s adult self responds to Raissa, and she is able to keep her memories. The strength of Jo and Raissa’s friendship had enough magic to prevent them from being forgotten, as well as to get them home. Manang breaks into the cave, but Batiba agrees to give back what she stole from her.
Manang exits Batiba’s cave, now with her memory restored so she can be at peace again. She turns around so her wings can wave goodbye to Raissa before she leaves. The Duwende try for one last attack in a Trojan Horse-like chicken thing, but the Sarimanok knocks them off a hill, sending them crashing. The ladies encourage Batiba to leave her cave and make her own memories, and they bid their friends farewell before returning home.
A few years later, Raissa attends an event at Caltech for Jo’s new comic book based off their adventures in Nakali, where she has made Raissa the heroine, albeit in a love triangle with Raww and Mermahn (which she’s not too thrilled about). Jo is set to go home the next day, but the ladies use their bracelets to take a quick trip back to Nakali. A portal opens up in the school, and they jump in.