All attempts by Richard Fenton to get Donna fail, and he is finally shot dead by Detective Winn
Richard Fenton (Johnathon Schaech) gets obsessed with then freshman Donna (Brittany Snow) becoming detached to the point that he kills her father, brother, and mother. He is sent away to an mental institution as Donna attempts to pick up the pieces.
Three years later, Fenton kills his cellmate and escapes to find Donna at her senior prom. He kills another man and takes his identity. In the hotel, where Donna's prom is being held, he kills a maid for her master key card, and strangles another employee when they become suspicious about her disappearance.
In his attempts to get to Donna, he basically kills everyone that gets in the way or recognizes him. He kills Donna's friends Claire (Jessica Stroup), her boyfriend Michael (Kelly Blatz). Lisa (Dana Davis) is killed by him because she recognizes him as Donna's stalker. Fenton confronts Donna in the hotel room but she is able to escape into police custody with her boyfriend Bobby (Scott Porter). Ronnie (Collins Pennie) identifies Lisa's body and breaks down as he was about to propose to her before she ran off to warn Donna.
Back at her aunt and uncles house, Donna is protected by two cops. Detective Winn (Idris Elba) who sent the police to protect Donna when he found out Fenton escaped, realizes that Fenton walked right by him to go for Donna. Fenton kills the two cops and murders Bobby who had decided to stay and comfort Donna. Donna is almost taken by Fenton but Winn shows up and unloads his gun into Fenton, killing him.
Donna breaks down at the lost of her friends as more police arrive.