High school sophomore Nora is assigned to work with the new boy, Patch, as her biology class partner. Patch knows a shocking amount of highly specific information about Nora, which makes her uncomfortable.
While driving home on a rainy night, Nora’s car runs into a mysterious stranger in a ski mask. The stranger is not hurt by the impact, and he begins to tear off her car door. Nora flees to her friend Vee’s house, but when she arrives, the damage to her car has vanished and her memory of the event is hazy, causing her to wonder if she imagined the whole thing.
A new transfer student named Elliot comes to school and takes an immediate interest in Nora. He picks her for his PE baseball team and gives her batting lessons. Patch shows up to watch the game and begins speaking to Nora telepathically, leaving her uncertain about their mystical connection.
Elliot invites Nora to hang out with him and his best friend, Jules, at a theme park. Nora takes Vee with her, and they also run into Patch. Nora sneaks away from Vee and Elliot, when Patch invites her to meet him at a rollercoaster called the Archangel. She finds herself overwhelmingly attracted to him, but she is also full of concern because she feels like a malicious presence is watching her, possibly the same stranger from her car accident.
As she rides the Archangel roller coaster with Patch, Nora’s seatbelt comes loose, and she falls out of the roller coaster. Then she realizes it was just another very vivid fantasy. Patch drives Nora home on his motorcycle and asks to be invited into her house. She resists the idea, but he barges in anyway and makes her dinner. Nora feels threatened when she sees Patch holding a large knife, but later the mood turns romantic and the two almost kiss.
The next day Nora sees the threatening stranger standing outside the store where she’s shopping. Vee puts on Nora’s jacket and leaves the store first so the stranger will follow her. Before Nora can catch up, the stranger attacks Vee, hitting her several times with a gun and leaving her lying on the ground with a broken arm. Patch is absent from school the next day, so Nora can’t help but suspect Patch of being involved in the incident somehow.
Nora is informed that she must meet with the new school psychologist, Miss Greene. Miss Greene takes a deep interest in Nora’s personal life, which Nora doesn’t appreciate. While doing internet research for an article, Nora discovers that her new friend Elliot was a suspect in the death of one of his former schoolmates.
When Nora is at home alone, she discovers the stranger in her room. He has torn through the room in search of something, leaving all the furniture broken. He escapes through the window, but when Nora calls the police to come investigate, her room is restored to normal with no signs of the break-in.
Nora goes to play pool with Patch, and when Patch is in a play-fight with his friend Rixon, his shirt is torn. Nora sees two massive scars on Patch’s back and wonders what could have caused such damage. Inside Patch’s car, she finds a flashlight covered with dried blood, but Patch says that it’s actually red paint from paintball.
Nora reads an article about fallen angels and learns that they supposedly want to possess human bodies but can only do so during the Hebrew month of Cheshvan. They are best at possessing the bodies of Nephilim, the immortal children of humans and fallen angels. She realizes that Patch’s scars must have come from having his wings torn off when he was cast out of heaven.
Elliot comes to Nora’s house and threatens her, saying she must go camping with him. He roughly shoves her against the wall outside her house but runs away when her mother comes outside. Nora goes to Portland to investigate the death of Elliot’s former classmate. On the way home, a homeless woman tricks Nora out of her coat, then a car pulls up and someone inside the car shoots the homeless woman, intending to kill Nora. The woman’s body vanishes. In tears, Nora calls Patch to come pick her up.
Patch’s car dies, and he and Nora check in to a cheap motel. When Nora embraces Patch, her hands touch the scars on his back. When she touches the scars, she’s drawn into a memory from his recent past. In the memory, Miss Greene, the new school psychologist, comes to see Patch. Miss Greene is actually Patch’s ex-girlfriend, an angel of death named Dabria. In the memory, she tells him that if he can save a human life, he can get his wings back. Patch has an alternate plan, and Dabria discovers that he plans to kill Nora, the human descendant of his Nephilim servant Chauncey. Back in the present, Nora is distraught and screams at Patch, who admits that he wanted to kill her but has changed his mind.
To help Nora trust him, Patch lets her touch his wing scars again and get a glimpse into his past. In the past, he tells his fellow fallen angel friend Rixon that a sacred text called the Book of Enoch contains the story of a fallen angel who became human permanently. Patch says he will have to kill his Nephilim servant Chauncey by sacrificing one of Chauncey’s female descendants, who happens to be Nora.
Dabria waits for Nora at her home and attempts to kill her with a knife so Patch won’t kill her himself and turn human. When Nora evades the knife, Dabria sets the house on fire. Patch arrives to rescue Nora. He gives her his car keys and tells her to drive to a safe place and wait for him. When they meet up, he tries to get Nora to acknowledge the attraction between them. As they begin kissing, Nora gets a call from Elliot who tells her that he will murder Vee if Nora doesn’t come to school right away.
Patch and Nora sneak into the school through separate entrances. Nora encounters a dying Elliot on the library floor. Then she sees Jules again, and he removes his ski mask and reveals himself as the stranger who has been stalking her and editing her memories of past events. He says that his consistent terrorizing of Nora has been an effort to harm Patch because Jules is really the immortal Nephilim Chauncey, Patch’s servant who must let Patch possess his body for two weeks every year during the month of Cheshvan. Jules has been altering Nora’s memories and perceptions to make her more and more afraid, and he plans to kill her because he knows that Patch is in love with her.
Nora stabs Jules with a scalpel and escapes to look for Vee, who she rescues and sends to call the police. Jules recaptures Nora and holds a gun to her head as Patch arrives. Patch inhabits Nora’s body in order to fight Jules. After a brief fight, Patch has to leave Nora’s body, and she must climb up a high ladder to try to escape. She realizes that she can’t escape and that if she sacrifices her own life, Patch will become human, and Jules will die, so she jumps off a rafter, hoping to die.
Nora wakes up in her own bedroom with Patch, who tells her that her sacrifice killed Jules and that Patch managed to bring her back to life by refusing to accept her sacrifice. His selfless action redeemed him from being a fallen angel and turned him into a guardian angel. As Nora’s personal guardian angel, he now has an excuse to stay close to her all the time.