Will Graham (William Petersen) is a former F.B.I. Agent who recently retired to Florida with his wife Molly (Kim Greist) and their young son, Kevin (David Seaman). Graham was a "profiler", one who profiles criminal's behavior and tries to put his mind into the minds of criminals to examine their thoughts while visiting crime scenes. Will is called out of his self-imposed retirement at the request of his former boss Jack Crawford (Dennis Farina) to help the F.B.I. catch an elusive serial killer, known to the press as the "Tooth Fairy" (Tom Noonan), who randomly kills whole families in their houses during nights of the full moon and leaves bite marks on his victims. To try to search for clues to get into the mind of the killer, Will has occasional meetings with Dr. Hannibal Lecktor (Brian Cox), a charismatic, but very dangerous imprisoned serial killer that Will captured years earlier which nearly drove him insane from the horrific encounter that nearly cost Will's life. With some help and hindrance, Will races against the clock before the next full moon when the "Tooth Fairy" will strike again. Elsewhere, a local photographer named Francis Dollarhyde, the killer for whom Will is looking, struggles to stay undetected while seeing a hope of redemption when be begins a relationship with a blind woman (Joan Allen) who is not aware of his double life.
In Florida, retired F.B.I. Agent Will Graham (William Petersen) is visited by his former chief and friend Jack Crawford (Dennis Farina). Graham lives with his wife Molly (Kim Greist) and their son Kevin (David Seaman) in a seaside house and was retired after capturing the notorious Dr. Hannibal Lecktor (Brian Cox), that affected him and left Graham disturbed. Jack needs Graham to help him to trace the profile of the "Tooth Fairy" (Tom Noonan) serial killer that attacks in the full moon and has killed Mrs. Jacobi (Kristin Holby) in Birmingham, Alabama, and Valerie Leeds (Elisabeth Ryall) in Atlanta, Georgia, and their families. Graham speaks with Molly and accepts the assignment, and he immediately visits the crime scenes and the dangerous Dr. Lecktor in prison to seek help to find the motives. Then Graham asks Jack to send his efficient agent Jimmy Price (Dan Butler) to Atlanta to seek fingerprints on the bodies of the members of the Leeds family. Soon they learn that the "Tooth Fairy" has contacted Dr. Lecktor, who gave Graham's address to the serial killer. Will Graham succeed in stopping the killer before the next full moon?
Will Graham (William Petersen), an ex-F.B.I. profiler, quit the job because of the toil his last case, that of serial killer, psychiatrist Dr. Hannibal Lecktor (Brian Cox), took on him. Despite his work directly leading to Lecktor being captured and incarcerated, working on the case not only almost took Will's life, but also his sanity, as he needed to get into psychopathic Lecktor's mind. Will is coerced by his old boss, Jack Crawford (Dennis Farina), to return to work to assist with a new case of a serial murderer coined by the media as the "Tooth Fairy" (Tom Noonan). The Tooth Fairy has thus far committed two sets of murders, in consecutive months on the night of the full moon. Both sets of murders, occurring in different cities, were of families in their own houses, the family matriarch in each case was the person the Tooth Fairy seemed to place special attention. Will agrees to the job in part because he too is a family man, he assuring his loving wife Molly Graham (Kim Greist) that he will only examine the evidence and not get immersed psychologically into the case like he did last time. Will can't help but consult Lecktor on the case in needing once again to understand the mind of a psychopathic serial killer. Adding to the complexity of the case is Freddy Lounds (Stephen Lang), a reporter with a national tabloid, he who not only sensationalized the Lecktor case, but also capitalized on Will's mental decline during that case. Lounds cannot help but once again try to find something salacious on which to write with Will's involvement in the "Tooth Fairy" case. The case may end up being personal against the other for Will and the "Tooth Fairy", especially as Will discovers some ties, either direct or indirect, back to Lecktor. What neither Will nor the "Tooth Fairy" probably imagined is the entrance of an unexpected person into their lives that may affect what happens. All this becomes more and more important as the next full moon approaches.
- Will Graham (William Petersen) is a former FBI criminal profiler who has retired because of a breakdown after being attacked by a cannibalistic serial killer, Dr. Hannibal Lecktor (Brian Cox). Graham is approached at his Florida home by his former FBI superior Jack Crawford (Dennis Farina), who is seeking help with a new serial killer case. Promising his wife (Kim Greist) that he will do nothing more than examine evidence and not risk physical harm, Graham agrees to visit the most recent crime scene in Atlanta, where he tries to enter the mindset of the killer, now dubbed the "Tooth Fairy" by the police for the bite-marks left on his victims.
Having found the killer's fingerprints, Graham meets with Crawford. They are accosted by tabloid journalist Freddy Lounds (Stephen Lang), with whom Graham has a bitter history. Lounds' paper had run photographs of Graham taken secretly while he was hospitalized. Graham pays a visit to Lecktor, a former psychiatrist, in his cell and asks for his insight into the killer's motivations. After a tense conversation, Lecktor agrees to look at the case file. Lecktor later contrives to obtain Graham's home address by deceit.
Graham travels to the first crime scene in Birmingham, Alabama, where he is contacted by Crawford, who tells him of Lounds' tabloid story on the case. Crawford also patches Graham through to Frederick Chilton (Benjamin Hendrickson), Lecktor's warden, who has found a note in Lecktor's personal effects. Reading it, they realize it is from the Tooth Fairy, expressing admiration for Lecktor and an interest in Graham. Crawford brings Graham to the FBI Academy at Quantico, where a missing section of the note is analyzed to determine what Lecktor has removed. It is found to be an instruction to communicate through the personals section of the National Tattler, Lounds' newspaper.
The FBI intended to plant a fake advertisement to replace Lecktor's, but they realize that without the proper book code the Tooth Fairy will know it is fake. So they let the advertisement run as it is, and Graham organizes an interview with Lounds, during which he gives a false and derogatory profile of the Tooth Fairy to incite him. After a sting operation fails to catch the killer, Lounds is kidnapped by the Tooth Fairy (Tom Noonan). Waking in the killer's home, he is shown a slideshow of William Blake's The Great Red Dragon paintings, along with the Tooth Fairy's past victims and slides of a family the killer identifies as his next targets. Lounds is forced to tape-record a statement before being set on fire in a wheelchair and killed, his flaming body rolled into the parking garage of the National Tattler as a warning.
Graham is told by Crawford that they have cracked Lecktor's coded message to the Tooth Fairy: it is Graham's home address with an instruction to kill the family (ending with "Save yourself. Kill them all," revealing that Lecktor believes Graham would find the Tooth Fairy). Graham rushes home to find his family safe but terrified. After the FBI moves Graham's family to a safehouse, he tries to explain to his son Kevin why he had retired previously, and he does so at a supermarket, of all places. At his job in a St. Louis film lab, Francis Dollarhyde (the Tooth Fairy) approaches a blind co-worker, Reba McClane (Joan Allen), and ends up offering her a lift. They go to Dollarhyde's home, where Reba is oblivious to the fact that Dollarhyde is watching home-movie footage of his planned next victim. She kisses him and they make love. Dollarhyde is confused by this newfound relationship, though it helps suppress his bloodlust. Just as Graham comes to realize how much the Tooth Fairy's desire for acceptance factors into the murders, Dollarhyde watches as Reba is escorted home by another co-worker. Mistakenly believing them to be kissing, Dollarhyde murders the man and abducts Reba. When she calls him Francis, he tells her: "Francis is gone. Forever."
Desperately trying to figure out a connection between the murdered families, Graham realizes that someone must have seen their home movies. He and Crawford deduce where the films were processed. They identify the lab in St. Louis and fly there immediately. Dollarhyde has been casing the victims' homes through home movies, enabling him to prepare for the break-ins in extreme detail. Graham determines which employee has seen these films and obtains Dollarhyde's home address, to which he and Crawford travel with a police escort. At Dollarhyde's home Reba is terrified as he contemplates what to do with her. As he struggles to kill Reba with a piece of broken mirror glass, police teams assemble around the house. Seeing that Dollarhyde has someone inside with him, Graham lunges through a window. He is quickly subdued by Dollarhyde, who retrieves a shotgun and uses it to wound Crawford and kill two police officers. Wounded in the firefight, Dollarhyde returns to the kitchen to shoot Graham, but misses because of his injuries and is killed himself when Graham returns fire. Graham, Reba, and Crawford are tended to by paramedics before Graham returns home and retires permanently.