L'anziano ed esperto detective nero William Somerset mentre sta per andare in pensione viene affiancato dal giovane e irruento collega bianco David Mills. Per la sua vasta esperienza il primo tratta con sufficienza l'altro, specie quando devono indagare sull'assassinio di un iperobeso, ingozzato per i suoi peccati di "gola" fino al soffocamento. Mentre Somerset vorrebbe lasciare il caso a Mills, convinto che l'omicida sia un serial-killer, il capo insiste perché i due lavorino assieme. La moglie di Mills, Tracy, convinta che Somerset sia un opportuno freno all'irruenza del marito, lo invita a cena e simpatizza con lui. La seconda vittima è Gould, un losco avvocato noto per la sua "avarizia": viene scoperto che un quadro è stato capovolto dal killer ed all'interno spicca la scritta "aiutatemi" scritta col sangue e si notano alcune impronte, le quali, dopo lunga ricerca, risultano essere di un pregiudicato, che viene trovato nella sua abitazione morto per "accidia". Poi Tracy invita Somerset per un drink e gli confida che aspetta un bambino. Intanto proseguono le ricerche nella biblioteca, e Somerset chiede ad un informatore dell'F.B.I. notizie su libri legati ai sette peccati capitali ed eventuali lettori di libri schedati dai Federali. Scoprono così un testo preso in prestito da tale John Doe e vanno all'abitazione di costui che, rientrando, spara agli agenti e fugge, inseguito da Mills che viene ferito dal killer. Sfondata la porta dell'appartamento, trovano un armamentario inquietante, ma nessuna impronta dell'omicida che, frattanto, punisce la "lussuria" costringendo un uomo a sventrare una prostituta con un infernale aggeggio; poi il killer punisce la "superbia" tagliando la faccia ad una donna esibizionista; infine, a sorpresa, il killer si costituisce. Dichiara di aver nascosto gli ultimi due corpi in una località deserta fuori città, dove li consegnerà solo ai due detective. Qui l'autista di un furgone recapita, a sorpresa, un pacco con dentro la testa di Tracy: John l'ha uccisa per "invidia" di Mills, che colto da "ira", nonostante le suppliche di Somerset, lo uccide.