Am 20. Dezember 1968 wurde an der Lake Herman Road zwischen Benicia und Vallejo - beides Vororte von San Francisco - ein junges Liebespaar in seinem Auto mit zehn Schüssen hinterrücks ermordet. Die Polizei stand vor einem Rätsel: Es gab keine Zeugen, keine Verdächtigen und kein erkennbares Motiv.
Doch dieser Doppelmord sollte nur der Anfang eines all-amerikanischen Albtraums werden: Gut ein halbes Jahr später wurde nur wenige Kilometer vom ersten Tatort entfernt wieder ein Anschlag auf ein junges Paar verübt. Eine 22-jährige, lebensfrohe Kellnerin stirbt, ihr Begleiter kann trotz zahlreicher Schusswunden wie durch ein Wunder gerettet werden.
Kurz nach dieser zweiten Tat gehen bei verschiedenen Zeitungen im Großraum von San Francisco einige Selbstbezichtigungsschreiben ein. Der Verfasser nennt zahlreiche Details, die nur der Täter selbst kennen kann, er macht sich über die Polizei und die Presse lustig, er verschickt verschlüsselte und kodierte Botschaften - und er kündigt weitere Morde an, droht sogar damit, Schulbusse in die Luft zu jagen.
Der Killer nennt sich selbst "Zodiac" - also Tierkreis - und unterzeichnet seine teilweisen wirren Briefe mit einem Zodiac-Symbol, einem Kreis mit innenliegendem, senkrechten Kreuz.
Vier Menschen nehmen die Fährte des Mörders auf: Der ehrgeizige Inspector Dave Toschi (Mark Ruffalo), sein Kollege Inspector William Armstrong (Anthony Edwards), Paul Avery (Robert Downey Jr.), Kriminalreporter des San Francisco Chronicle und seiner junger Redaktionskollege Robert Graysmith (Jake Gyllenhaal).
Weitere Morde folgen, ohne dass die Ermittler dem Zodiac auf die Spur kommen können. Der frustierte Inspector Armstrong beginnt sich anderen Fällen zuzuwenden, sein Kollege Toschi gerät in Ungnade und muss sich sogar internen Ermittlungen unterziehen, und Paul Avery, für den die Jagd nach dem Killer zur Sucht wurde, kündigt seinen Job bei der Zeitung.
Nur einer gibt nicht auf: Robert Graysmith. Siebzehn Jahre nach den ersten Morden glaubt er den Killer zu kennen...