Jeff wakes up tied to a wheeled computer chair. Hayley explains she drugged him and then accuses him of being a pedophile. As she searches his house, she discovers letters of correspondence between him and a woman named Janelle, who turns out to be Jeff's ex-girlfriend for whom he still has feelings, as well as photos of a sexual nature in a hidden safe in his rock garden. Among them is a picture of Donna Mauer, a local girl who had been kidnapped and remains missing. Jeff denies involvement in Mauer's disappearance before kicking a distracted Hayley to the floor and wheeling himself to his bedroom to get a gun. As he returns, they struggle. He begins to bang her against the wall but Hayley is able to wrap his head in plastic wrap and asphyxiate him into unconsciousness.
Jeff wakes up tied to a table with a bag of ice on his genitals. Hayley informs Jeff of his impending castration, which she says will be a kind of public service. After a long conversation she then begins composing an e-mail to his ex-girlfriend. Despite Jeff's attempts to dissuade her through threats, bargaining, negotiation and pleas for her sympathy, Hayley proceeds with the operation. Following its conclusion, she steps out of the room and Jeff breaks free from his bonds, only to discover that the operation was faked. Scalpel in hand, he stalks Hayley to the bathroom, where he is blindsided from behind by Hayley, who shocks him into unconsciousness with a stun gun.
Jeff awakens again, this time on a chair with a noose around his neck. Hayley reveals that she has written a fake suicide note on his behalf and offers Jeff a choice between killing himself before being revealed as a sexual predator, or living with the shame and legal consequences of his crimes. Their conversation is interrupted when a neighbor (Sandra Oh) knocks on the door. Hayley answers and convinces the neighbor that she is Jeff's niece, and that everything is fine. When Hayley returns, Jeff breaks free from the noose and pursues her to the roof, where she has created another noose, and holds him off with the gun.
After Hayley reveals that she has contacted Janelle, he finally confesses to Hayley that he was involved in Donna Mauer's death, but he claims that he only watched while another man actually committed the murder. Jeff tells Hayley that, if she will spare his life, he will disclose the other man's name. Hayley replies that she already knows his name and that the other man told her the same thing before he killed himself. Janelle is outside the house now, knocking, and Hayley reminds Jeff that he still has the option of killing himself to avoid prosecution, as well as the shame of Janelle finding out the things he has done. She promises him that if he does this, she will destroy all evidence of his crimes. Jeff, finally beaten, does not resist when Hayley slides the noose around his neck. He then walks off the roof, seconds before Hayley finishes her sentence: "...or not". She gathers her belongings and escapes through the woods at the rear of the house, and is seen walking down a road.
Very little dubbing was used in the film, with only a couple of lines modified in post-production. Only nine minutes of music are present in the film, with ambient sounds, such as heavy breathing, making up most of the soundtrack. The film was shot in eighteen and a half days, largely in sequence, and mostly on a soundstage. The soundstage was based on Higgins' home, in case their budget did not allow them to use a soundstage. The creative team actively tried to eschew the Hollywood traditions of performance, avoiding trite beats when they could.
Hayley wears a red hooded sweatshirt that is often seen as an allusion to "Little Red Riding Hood". However, this was a serendipitous wardrobe choice by the creative team that was not realized until later on. Foreign marketing for the film made great use of this allusion. For example, a tagline on the Japanese site for the movie reads "Red Hood traps the Wolf in his own game.
Jean-Clement Sorret was the digital colorist for the film, and is one of the few instances where a colorist received a spot in the opening credits. The film contains many coloring effects and "density shifts" of lighting to reflect the moods of the characters. For example, when Hayley gets angry the colors would be edited to be of lower frequency. One effect used which, as far as the director is aware of, had not been done in cinema before, was to brighten the lighting in filming and recorrect everything down in post-production. This allowed for facial details to still be visible while having a darkened atmosphere. The process required a custom-built digital intermediate to be made and proved to be extremely difficult, with corrections having to be made frame-by-frame in some instances.
Early working titles of the script were Vendetta and Snip Snip. The producer wanted a title with a "sugar and spice combination...a mixture of harsh roughness and innocence and vulnerability" and settled on the title Hard Candy.
The American DVD was released on September 19, 2006 with two commentary tracks, an hour's worth of making-of featurettes, six deleted and extended scenes, the script and director's notebook, and trailers for Hard Candy and other Lionsgate films.
Critics applauded Page's performance; USA Today praised her for "remaining consistently convincing" to her role which is both "powerful and chilling. She won the Best Actress award from the Austin Film Critics Association, one of the few significant Best Actress awards of the award season not won by Helen Mirren for The Queen.
The film won three awards at the Sitges Film Festival, 2005: Slade won the Audience award for Best Feature Film and the Best Film award, and Brian Nelson, the writer, won the award for Best Screenplay.
The film made just enough to pay for its million dollar budget from its domestic release and proceeded to make nearly six million dollars more in world-wide revenue.