A serial killer is on the loose - having recently killed two families - and FBI agent Jack Crawford (HARVEY KEITEL) wants former agent Will Graham (EDWARD NORTON) to come out of retirement and apply his intrinsic expertise to the case. Graham is reluctant, however, and that's not just because he's now married to Molly (MARY-LOUISE PARKER) with whom he has a young son, Josh (TYLER PATRICK JONES).
It's also due to nearly being killed on his last case by forensic psychologist Hannibal Lecter (ANTHONY HOPKINS) who turned out to be a cannibalistic serial killer. Nevertheless, Jack thinks it would be a good idea to enlist Lecter's aid in cracking the current case and so Will heads off to the Baltimore mental asylum run by Dr. Chilton (ANTHONY HEALD) to meet his former collaborator.
Ever the wily psychopath, Lecter agrees, but generates just as many questions as answers and their meeting entices seedy reporter Freddy Lounds (PHILIP SEYMOUR HOFFMAN) to figure out what's going on. Little do they know that the killer is Francis Dolarhyde (RALPH FIENNES), a video technician who has a serious mental problem in that he believes a William Blake painting is controlling his life.
When that's not occurring, he's seeing Reba McClane (EMILY WATSON), a blind darkroom worker who's oblivious to his behavior but senses that he's a kindred spirit to her in having to overcome a own physical debility and being "different."
With time running out before the next scheduled killing, Jack, Will and fellow agent Lloyd Bowman (KEN LEUNG) try to crack the case, all while dealing with Lecter's unique way of assisting them.