The movie opens with a chat window between Lensman319 and Thonggirrrrl14. It is obvious that they have been chatting and they make a plan to meet at a local coffee shop that day at 11am. At the coffee shop (called Nighthawks after the famous painting by Ed Hopper) we meet Thonggirrrrl14, Haley Stark (Ellen Page) who is eating a piece of chocolate cake. Jeff Kohlver (Patrick Wilson) walks up to her. She turns and sheepishly smiles and asks, Jeff? She has chocolate on her lips and tells him it is amazing and he has to try it. He wipes the chocolate off her lips and sucks on his thumb. She tells him that he does not seem like the kind of guy that needs to meet girls on the internet (since he is clearly good looking). He says that he prefers it that way because he gets to meet the person first and that as a photographer, he has found that faces lie. She asks if her face lies. He studies her faces and says she is longing, wanting, needing . . . more chocolate. She laughs and a rapport is established between the two. She turns back to the counter and orders more chocolate and coffee and he pays for it. He also buys her a Nighthawks T-shirt. She models the shirt for him. When she is in the bathroom, she quickly opens the door to reveal herself in only her top and we see the Jeff is visibly agitated. He keeps saying that she is only a little girl and that he has to wait 4 years before he could be with her. They sit and talk in there for a while as the camera pans over a poster of a missing girl (Donna) on the message board behind them. He has an live concert MP3 of a band that she loves at his apartment and she invites herself over to listen to it even though they both decide that it is crazy to do so. As they are talking, he points to a huge book in her bag that she covers up and says is a medical textbook from her dad who teaches at a University.
They drive in his car to his home. It seems to be some distance from town and they show the windy roads he takes to get there. Jeff lives in a clean well decorated apartment. There are pictures of scantily clad young models on his wall. Haley takes an immediate interest in these pictures and asks how many of these girls he has slept with. One in particular, Janelle, has the date 3/19 on it and Jeff gets antsy when Haley takes it off the wall. He grabs it from her and puts it back. He gets her a drink while she is listening to the MP3 and she says she doesn't drink anything she hasn't mixed herself. She goes into the kitchen and mixes screwdrivers. When Jeff is slow in drinking, she insists that he keep pace with her. She asks to be photographed and plays music loudly and jumps on the couch. He is getting dizzy and weak and finally collapses.
When Jeff wakes up he is tied to a wheelchair and Haley has completely changed. The innocent shy girl we met in the beginning was just an act. She has come with a purpose. We learn that she drugged him and that she specifically chose this day to meet him because his neighbors were out and no one would hear him screaming. He accuses her of stalking him. She says that he has been stalking her. Haley has been chatting with him under many screen names on line with different ages and he was only interested in the ones that were under 18. Jeff claims to have had a connection with her. She accuses him of researching topics that she says she is interested in and reveals that she hates the band that she came over to listen to. She accuses Jeff of being a pedophile and says she is going to search his house for clues. He denies it saying he didn't do anything and that she invited herself and was the one being forward. She says that he is the adult and should know better.
Haley searches the house and doesn't find anything. She thinks this is suspicious because men usually have some sort of porn around and he doesn't even have that. He does have records on his computer that pictures were downloaded but the pictures are not there. She suspects that this is where the kiddy porn is. In the search, she finds a gun in a box under his bed. She takes out the gun and throws in on the bed She finally finds a safe hidden in the middle of the room in a sort of coffee table with an inset that is filled with stones. Under the stones is the safe. She figures out the code of the safe as the 3/19 on the picture of Janelle whom Jeff is still madly in love with. His screen name also had 319. Her reaction to what she finds in the safe leads us to believe that is where Jeff has been hiding his kiddy porn, but of course, we never see it. There is also a picture of a girl in front of the Nighthawks. Haley throws the picture at Jeff and asks him why she gets to keep her clothes on. He says that he met her once at the cafe but that he never took her back to the house. He denies being a pedophile. The picture is of Donna, the missing girl from the poster in Nighthawks. It is now clear that Jeff had something to do with Donna's disappearance. He tells her to call the cops, that he will confess. She says that what she has in mind is worse but assures him that she does not want to kill him.
She leave the room for some reason and he wheels himself to the bedroom and gets the gun. When he wheels back into the kitchen, she is waiting for him with saran wrap. She wraps his face until he passes out. When he comes to again, he is strapped to a wheely table with his pants off and a bag of ice on his genitals. Haley is wearing a green surgeon's smock. She announces that she will castrate him, goes into his studio and sets up his camera so he can watch it. He cries but she says it is the only way. She begins to try to make a deal with him but then changes her mind. When she begins the surgery, we can hear the cutting noises and see blurrily the screen as the surgery takes place. When she is done, she holds up his balls and contemplates what to do with them. She jokes about seeing how far they will bounce. She finished by putting them down the garbage disposal. She then says she is done with him and she will take a shower and then call a cab and leave.
He is furious now and struggles to get free. He manages to do so and immediately feels for his balls. They are still there! She didn't perform the surgery! He checks the video recorder and sees in the VCR a tape of castrations. He runs for the phone and almost dials 911 put instead gets the scalpel and goes into the bathroom for Haley. We can hear the shower running but when he pulls back the curtain, she isn't there. She is behind him with a taser. She zaps him and he falls into tub unconscious again. She then begins to clean the apartment of her fingerprints. In the most comic scene in the movie, Jeff is pathetically crawling in the hallway with the scalpel as Haley moves around him cleaning. She walks by him and zaps him with the taser again until he falls unconscious again.
Then we see him tied up in a contraption with a noose around his neck and standing on a chair. She lets him know that she has called Janelle and that she is coming and will see the evidence that he is a pedophile. He freaks out at this. She offers him redemption in the form of a clean reputation. If he would hang himself, she would get rid of the evidence and no one would know that he was a pedophile and Janelle will think he killed himself because of his unrequited love for her. If not, she will see it and then what would she think of him? A neighbor visits at this time and there is a moment that we think Haley will be found out, but she isn't. She tells the neighbor that she is his niece. The neighbor asked her what she was doing on the roof because she saw her there earlier while she was in her garden. The girl slips up when she says that she was on the roof to check a leak. The neighbor informs her that she knows that it hasnt rained and with that the girls just runs in the house. He lunges at her and manages to free himself. She runs around the building, gets the rope and goes to the roof. He grabs a knife and finally finds Haley on the roof. She has his gun. She offers him the same deal again. A noose is set up on the roof. If he will hang himself, no one will know about the little girls. Jeff confesses that he watched and took photos of Donna but that he didn't kill her. He says he will give Haley the name of the person if she would spare him. Haley says she already knows the name and the funny thing is that Aaron said that it was Jeff who did the killing right before he hung himself. Jeff understands now that Haley has set this all up from the beginning. She puts the noose on his head and says, "I promise to get rid of the evidence. No one will know." Meanwhile Janelle has arrived and is downstairs ringing the doorbell. Jeff jumps. Haley looks over the ledge and says, "Or not"