Will Graham (Edward Norton) é um agente do FBI que por pouco não foi morto por Hannibal Lecter (Anthony Hopkins) quando tentava capturá-lo. Com Lecter já preso, Graham é obrigado a usar o psicopata como consultor para obter maiores informações sobre Francis Dolarhyde (Ralph Fiennes), um serial killer que tem deixado a cidade em pânico. Mas o que Graham não sabe é que ao mesmo tempo em que Lecter o auxilia em sua investigação também repassa ao próprio Dolarhyde informações sobre a família do policial que o persegue.