The story opens with a scene from the point-of-view of a psychotic killer in a night-dress, killing first their mother and then their father with a hammer in the middle of a stormy night. The events are blurred and warped as if the killer is deranged or drugged.
Four years later, a newly divorced woman, Sarah Cassidy (Elisabeth Shue), and her daughter Elissa Cassidy (Jennifer Lawrence) find the house of their dreams in a small upscale town. But when startling events begin to happen, Sarah and Elissa learn the town is in the shadows of a chilling secret. As told by the neighbors: four years earlier a girl named Carrie-Ann Jacobson killed her parents in the house next door and then fled into the woods. The townies believe that Carrie-Ann drowned in the river yet her body has never been found, leaving others to believe that she lives in the woods. Ryan Jacobson (Max Thieriot), is the sole survivor who at the time was looking after his ailing aunt far away. Ryan now lives alone in the house; the neighborhood hates the house as it drives down their property values. Bill Weaver (Gil Bellows), a local police officer, appears to be Ryan's only supporter.
Against the wishes of Sarah, Elissa and Ryan begin a relationship. He tells her that he accidentally injured Carrie-Ann while they were swinging one day, he was supposed to be watching her while their parents were inside - his mother was getting high while his father watched TV. Carrie-Ann fell off the swings as she wanted to go higher, and Ryan says that she got brain damage which makes her extremely aggressive. Ryan returned to the house just after the murders with his aunt, who died a year ago before Elissa and Sarah moved in. It is revealed to the viewer that Ryan has secretly been taking care of a woman who appears to be "Carrie-Ann" in a hidden room. No locals know of the existence of "Carrie-Ann". Carrie-Ann escapes the room on two occasions and appears to attempt to attack Elissa. During the second escape attempt, Ryan accidentally kills Carrie-Ann while trying to hide her from a teenage couple and keep her quiet. In his grief, he visits a diner where a student waitress attempts to comfort him, giving him a slice of cake on the house.
While visiting Elissas battle of the bands, several high school students vandalize Ryans car and attack him. In defense, Ryan breaks Tyler's (Nolan Gerard Funk) ankle and runs home. The remaining students decide to burn his house down. Elissa stops the fire. Elissa then looks in the garbage and finds a packet of tampons. She also finds a blue contact lens and a purse with a student I.D. inside of it on the counter. She hides these facts from Ryan. Whilst inside, Elissa finds Ryan's secret room. She is attacked by Carrie-Ann as Ryan arrives home. At this moment, it is revealed that the current Carrie-Ann is actually the waitress from the diner who has been held captive and made to look like Carrie-Ann.
In order to keep Carrie-Ann secret, Ryan knocks Elissa out and ties her to a chair. He reveals that Carrie-Ann actually died during the swing accident but that he still needed Carrie-Ann in his life. He knocks out the student and says he will make Elissa his new Carrie-Ann. It becomes apparent that the first "Carrie-Ann" rather was another victim attempting to escape from Ryan. When Weaver arrives, Ryan says Elissa isn't there, but Weaver decides to call her house phone (which has been call-forwarded to her cellphone) and then hears her cell phone ring inside the Jacobson house. In a scuffle with Ryan, Weaver tells Ryan that he has always defended him, but Ryan gets angry and stabs Weaver to death. Elissa escapes but is chloroformed by Ryan and thrown into the trunk of his car. She awakens and escapes. Sarah arrives at the house and hears Elissa's screams, but is stabbed by Ryan. During a struggle, Ryan is shot several times by Elissa using Weaver's gun and finally knocked out by Sarah.
Elissa and Sarah move out, and Ryan is shown in a mental hospital. To explain how he became disturbed and why he killed his parents, a flashback reveals that after the death of Carrie-Ann, Ryan's parents forced him to act as Carrie-Ann and abused him if he refused.