Will Graham (Edward Norton) is an FBI agent with a rare gift for tracking serial killers. He also brought Hannibal Lecter to justice; however, his confrontation with Lecter proved to be a bloody, near-death experience, and afterward Graham retired from the Bureau, moving to Florida to spend his time with his wife, Molly (Mary-Louise Parker), and their son. However, a particularly grisly killer is on the loose, and Jack Crawford (Harvey Keitel), Graham's one-time mentor at the Bureau, asks him to return to duty to find him. The "Tooth Fairy" is a vicious murderer who kills entire families at once, covering the eyes of his victims with bits of a shattered mirror. Graham finds he needs help putting together the pieces of the "Tooth Fairy" case, and he calls upon Lecter looking for advice. Lecter, at once vaguely helpful and self-serving, as usual, offers scraps of information to Graham which help him zero in on the killer. But Lecter knows more than he's telling; the "Tooth Fairy" is actually Francis Dolarhyde (Ralph Fiennes), a troubled and withdrawn man who admires Lecter's violent panache and corresponds with him. Dolarhyde works at a film processing lab, where one of his co-workers, a blind woman named Reba McClane (Emily Watson), seems to be quite attracted to him. As Dolarhyde wrestles with both his murderous impulses and his feelings for McClane, Lecter plays Graham and Dolarhyde against one another so that, as the FBI agent comes closer to catching "the Tooth Fairy," Dolarhyde moves in on his next victim -- Graham's family.