Florida teen Jake Portman (Asa Butterfield) feels he lives a mundane life. One day at work, he gets a phone call regarding his grandfather Abe (Terence Stamp). Jake calls Abe himself, and the old man sounds frightened and paranoid. Jake’s supervisor Shelley (O-Lan Jones) gives him a ride to Abe’s house.
As they make it to Abe’s house, Jake and Shelley see a man with white eyes (Samuel L. Jackson) standing in the road menacingly. Jake enters Abe’s house to find it ransacked. Outside in the woods, Jake finds Abe’s flashlight with blood on it. Abe is lying on the ground with his eyes missing. He is conscious long enough to warn Jake of something awful. Abe dies, and a monstrous creature starts walking toward Jake. Shelley emerges with her gun, and Jake alerts her to the creature behind her. She starts shooting, but she sees nothing.
Later on, Jake visits his psychologist Dr. Golan (Allison Janney) to talk about how he’s felt since his grandfather’s passing. He knows it was no accident, despite the coroner stating that Abe had a heart attack.
We see a flashback of Jake as a child with Abe telling him fantastical stories about encountering monsters and other oddities. He would tell Jake about a group home for children run by Miss Peregrine (Eva Green), a mysterious Englishwoman who, along with the other children there, have strange abilities that she kept living with her.
Jake’s aunt gives him a book from Abe from Ralph Waldo Emerson, which contains a postcard from Miss Peregrine welcoming him to return. Her home is on an island called Cairnholm, located in Wales. With encouragement from Dr. Golan, Jake convinces his parents to allow him to go there and visit Miss Peregrine.
Jake travels with his father Franklin (Chris O’Dowd), who didn’t have the best relationship with Abe, his father. On the ferry to the island, the two spot a peregrine falcon flying up above. Jake jokes that it must be Miss Peregrine herself, so he calls to her. Upon arriving at the island, Jake and Franklin stay at an old pub that also has a room. Franklin then pays two local boys to guide Jake to the side of the island that he wants to see. When Jake gets there, he finds that the home has been destroyed. He returns to the pub disappointed, believing Miss Peregrine and the children to be long dead.
The next day, Jake goes back around to the home and finds a group of children there. He gets spooked and runs away, where he ends up tripping and knocking himself unconscious. He wakes up to find himself being carried by a little girl named Bronwyn (Pixie Davies), who possesses incredible strength. Jake then meets the children that Abe told him about – Emma (Ella Purnell), a girl who can manipulate air and must wear lead shoes to keep her from floating away; Olive (Lauren McCrostie), a girl with pyrokinetic abilites; Hugh (Milo Parker), a boy who has bees living inside him; Millard (Cameron King), an invisible boy; and two masked twins (Joseph and Thomas Odwell). The children guide Jake through a cave, but he gets spooked and runs away.
Jake returns to the pub and finds it filled with customers. The manager doesn’t let him up and threatens him when the other suspect Jake of being a spy. The peculiar children arrive and intervene to get Jake out of there. He quickly realized he is stuck in the 1943 loop for now.
Jake is then brought to meet Miss Peregrine herself. She introduces him to the remaining children – Fiona (Georgia Pemberton), a girl who control plants; Claire (Raffiella Chapman), a girl with a mouth in the back of her head; Horace (Hayden Keeler-Stone), a boy with prophetic dreams; and Enoch (Finlay McMillan), who has the power to bring back the dead for a brief time. He shows off this talent using two small skeletal puppets with tiny hearts that fight each other for a short moment. Enoch is jealous because he likes Emma and knows Jake does too, but Emma had feelings for Abe, and he left long ago.
Miss Peregrine explains to Jake that they live in a time loop, which keeps them from the outside world but allows them to live in peace. They are stuck on September 3, 1943, during the WWII raids, moments before a bomb would drop on the house and kill everyone, but Miss Peregrine sets the clock back to 24 hours earlier. They cannot live outside the loop, or else their years will catch up to them and they will die.
Jake joins Miss Peregrine and the children for dinner. Afterwards, they are treated to Horace’s dreams that they watch like movies. They see a woman (Judi Dench) being wheeled away by villainous men, as well as Jake and Emma looking like they’re about to kiss (making it super awkward in the room). After the show, Miss Peregrine brings the children outside and shows Jake how the loop works when German planes fly overhead and drop a bomb, but she resets the clock to 24 hours earlier, taking them back to September 2nd.
Jake follows Emma into a cave asking questions about everything he’s just heard and seen, but Emma says there are some questions she can’t answer. A bird then flies into the cave and hits the wall. Emma brings it back to the home to be treated.
When Jake returns to meet his dad, they are called over by a farmer whose sheep have all been killed. They return to the pub, and Jake finds a letter that Abe wrote to Miss Peregrine warning her about someone named Mr. Barron, and to tell Miss Avocet, another headmistress of a home for Peculiars, to create a new loop immediately.
The next morning, Jake and Franklin hit the beach and meet an ornithologist (Rupert Everett) looking out for rare birds for a book he plans on writing.
Jake later sneaks out while Franklin takes a nap so he can return to the home. Miss Peregrine is treating the bird, who is really Miss Avocet, the same woman seen in Horace’s dream, and an Ymbryne just like Miss Peregrine (meaning they can take the form of birds). Jake questions Miss Peregrine about Barron, but she avoids giving answers.
Jake then runs into Enoch and Olive. Enoch brings Jake over to the room of Victor (Louis Davison), Bronwyn’s brother who was killed by the same creature as Abe. His eyes are missing, and Enoch reanimates him like a puppet to freak Jake out.
Emma takes Jake to her secret hideout, which is a sunken ship deep beneath the ocean. She blows him an air bubble and then blows the water out of the ship. Emma shows Jake photos of pale-eyed people, including Barron, whom Jake recognizes as the man outside Abe’s house the night he died. Afterwards, she brings Jake to watch Miss Peregrine walk with her crossbow over by a spot with a chalk outline of a creature. A tall, eyeless monster like the one Jake saw in the woods emerges, but it is only visible to him. Miss Peregrine shoots the creature with an arrow, and it falls perfectly into the outline. Emma realizes that Jake’s peculiarity is being able to see these monsters.
Back at the home, Emma brings Miss Peregrine her book to explain to Jake who these creatures are. Barron and his cronies are Hollowgasts (or just “Hollows”), a different group of Peculiars that hunt the good ones in order to live beyond the loops for all eternity. Barron performed an experiment using Miss Avocet due to her Ymbryne powers, but it backfired and turned him and the other Hollows into hideous monsters. They managed to return to their human forms by consuming the eyes of Peculiars.
Miss Peregrine walks into a room where the children are sitting by Miss Avocet, who has taken her human form. Fearing that Barron will come after the children, she decides it is time to leave and find a new home and loop.
Jake returns by the beach and finds Franklin worried sick. A wheelchair-bound man that they had met earlier is found dead by the rocks with his eyes taken out. Jake runs away and is followed into the cave by the ornithologist. He then takes the form of Dr. Golan before revealing himself to be Barron. He turns his hand into a blade and holds it to Jake’s throat in order to make him do his bidding.
Barron forces Jake to take him to the home. Miss Peregrine finds them and tells the children to retreat for their safety, knowing that Barron is waiting for his Hollow friend to go after them, and with Jake being able to see them, he is their only hope for survival. She asks Jake to promise that he will look after the children should anything happen to her. He agrees, and she turns into her bird form so that Barron may cage her.
Jake and Miss Avocet help keep the children hidden in darkness for when the Hollow shows up. Jake then answers the phone to hear a call from Abe in 1943. Jake takes the time to say he wished he could have been a better grandson.
As Miss Avocet is telling the children what to do, she is pulled through a wall by the Hollow. Jake guides the children to safety and fights the Hollow with Miss Peregrine’s crossbow, but he misses every shot. Eventually, the German plane drops the bomb on the house, killing the Hollow. The loop then closes for good, and the children can never return to that home.
The children work together to raise Emma’s ship to the surface so they may head over to the Blackpool Tower, where there is another loop. Since this loop was created in January 2016, Jake and Emma realize that if they kill Barron there, they may be able to prevent Abe’s death from happening. They all arrive at the pier and go through a haunted house where the Hollows are set to perform their experiment with Miss Peregrine and other Ymbrynes. Jake and Emma lure some Hollows outside toward the pier.
Once the Hollows reach the pier, the children fight back. They start throwing snowballs and cotton candy at the Hollows to allow them to be seen. Enoch brings some skeletons to life, which go after the Hollows and start slaying them. Bronwyn grabs a horse off the merry-go-round and hurls it at a Hollow, throwing him into the water. The other children fight Barron and his two Hollow friends in their lair. The male Hollow tries to freeze Bronwyn under a pool of water, but Fiona stops him by throwing seeds at him that sprout vines that wrap around him. Olive frees Bronwyn, but the Hollow starts to freeze Olive up. Enoch brings an elephant puppet to life and uses it to crush the Hollow. The female Hollow is turned to stone by the twins when they remove their masks and stare at her. Enoch apologizes to Olive for not appearing to care for her as much when it looks like she’s dead, but she is revived and happy to hear what Enoch said.
Jake and Emma attempt to fight Barron, but he is immune to their attacks. Jake frees the Ymbrynes and pisses Barron off. Emma and Enoch find Jake, but Barron has also taken Jake’s form to trick them. Jake is able to prove himself when he spots the last Hollow walking behind them. He picks up Barron-Jake as he tries to convince the Hollow who he really is, but he plucks out Barron’s eyes and kills him. Enoch throws Jake the crossbow, which he uses to kill the Hollow.
The children then leave on the ship to stay within their loop, but Jake knows it means he cannot see them again.
Upon returning to Florida, Jake goes by Abe’s house and sees that he’s still alive. He tells Abe all about his time with Miss Peregrine and the children. Abe gives Jake the Emerson book, which contains a lot of money in it, for his “travels.”
Jake is running on the docks to catch up to the children’s ship. He finds Emma and explains to her that he’s had to go through different loops in different cities over different years, but she stops him and kisses him. As he joins them on their adventure, Miss Peregrine flies by and stops at a tower. She finds the children and flies over to their ship.