U bezimenom gradu, dva detektiva pokušavaju pronaći sadističkog serijskog ubojicu, koji svoje žrtve bira na temelju sedam smrtnih grijeha. David Mills je detektiv novak, pun nade ali naivan, a njegov partner je William Somerset. Zajedno, oni prolaze svaki ubojičin korak, svjedočeći hororu kojeg iza sebe ostavlja, ubijajući svoje žrtve. A sve to vodi k stravičnoj sudbini koju nitko neće moći predvidjeti.

Clarice Starling (J. Foster) mlada je agentica FBI-ja koja još prolazi obuku. Jednog je dana pozove njezin pretpostavljeni, Jack Crawford (S. Glenn), i povjeri joj neobičan zadatak. Kako je Clarice s izvrsnim ocjenama diplomirala psihijatriju, Crawford želi da mu pomogne u rješavanju slučaja masovnog ubojice koji ženske žrtve masakrira i onda im skida dio kože. Taj je zločinac, kojem identitet još nije poznat, u medijima prozvan "Buffalo Bill". U specijalnoj zatvorskoj ćeliji, ograđenoj neprobojnim staklom, već nekoliko godina nalazi se drugi glasoviti psihopat, psihijatar Hannibal Lecter (A. Hopkins), koji je svoje žrtve jeo, poznat i pod nadimkom Hannibal Kanibal. Crawford drži da bi u razgovorima s Hannibalom Clarice mogla "ući" u psihopatski mozak, što bi omogućilo da otkriju i tko je "Buffalo Bill". Hannibal je vrlo opasan i inteligentan zločinac koji će se s Clarice poigravati kao mačka s mišem.

Patrick Bateman (C. Bale) mladi je stručnjak za financije zaposlen u uglednoj tvrtki. Poput njegovih kolega, Bateman nosi skupocjena odijela, živi u iznimno luksuznom stanu, održava tijelo u izvrsnoj kondiciji i s lakoćom zavodi žene. Bateman je zaručen za privlačnu no ispraznu Evelyn (R. Witherspoon) i često je vara sa djevojkom njegovog najboljeg prijatelja i brojnim prostitutkama. Iako ostavlja dojam normalnog poslovnog čovjeka, Bateman je zapravo teški psihopat, nasilnik koji jednom prilikom bez ikakvog razloga okrutno ubije prosjaka koji je od njega na ulici zatražio pomoć. Samouvjeren i lišen bilo kakvih osjećaja, Bateman se nakon toga upušta u seriju okrutnih ubojstava koju započinje smaknućem poslovnog suradnika Paula Allena (J. Leto). Allenov nestanak istražuje detektiv Donald Kimball (W. Dafoe), no Bateman nema namjeru prestati sa svojim nedjelima...

Na temelju posrednih dokaza, nedužni Londonac uhićen je zbog zločina serijskog silovatelja koji davi svoje žrtve.