二十世紀70年代,舊金山出現了一個自稱“十二宮”的殺人狂,殺人后向媒體寄送挑釁信件并留下密碼線索。由于多次陰差陽錯,案件陷入僵局,警方逐漸束手無策。連環兇殺案引起《舊金山紀事報》記者羅伯特(杰克·吉倫哈爾飾)和保羅(小羅伯特·唐尼飾)的關注,他們在警察大衛(馬克·魯法洛飾)協助下展開獨立調查。隨著多年追蹤和線索追查,三人逐漸接近主要嫌疑人亞瑟·李·艾倫的可疑行跡。調查過程中,“十二宮”持續寄送挑釁信件甚至直接致電媒體,導致公眾恐慌不斷升級。盡管投入大量精力揭露嫌疑人部分犯罪證據,但因關鍵證物遺失及司法程序限制,團隊始終無法取得確鑿定罪依據。長期高壓調查使羅伯特與家人關系破裂,保羅陷入酗酒困境,大衛的警察生涯也因案件受挫。最終案件未能完全偵破,兇手始終逍遙法外,而調查者們的生活已徹底改變。