克拉麗斯是聯邦調查局的見習特工。她所在的城市發生了一係列的命案,凶手是一名專剝女性的皮的變態殺人犯“野牛”比爾。迄今為止,受害的女性已達5人。克拉麗斯的任務是去一所戒備森嚴的監獄訪問精神病專家漢尼拔博士,同他進行麵對麵的交談,以此獲取罪犯的心理行為資料來幫助破案。
漢尼拔被關在地牢裏,他是一位智商極高、思維敏捷但有些精神變態的中年男子,並且是個食人狂,他要求克拉麗斯說出個人經曆供自己分析以換取他的協助。克拉麗斯的思維能力完全不是博士的對手,她臨陣脫逃了。不久,警方又發現了一具女屍。根據驗屍分析:凶手使受害人活了3天,死前沒有強暴或虐待的跡象,凶手喜歡身材較胖的女子,常常把她們餓得皮膚鬆弛之後才殺死。克拉麗斯又發現了兩個新的線索:其一,死者背部被剝去了兩塊菱形的皮;其二,死者喉嚨裏有個小手指大的蟲繭。據昆蟲專家分析,這是源於亞洲的一種蛾,被稱為“地獄昆蟲”。
又有一位女子被綁架了,這一次是參議員的女兒。克拉麗斯向博士求助,博士仍對她進行心理分析,克拉麗斯說出童年的最痛苦的回憶是父親去世後的一段日子,她寄住在辦牧場的姨母家裏,可是兩個月後就逃走了,但從此常常聽到羔羊的慘叫……
博士提示克拉麗斯,蛾的特征是變,由蟲變成蛹,又由蛹變成蛾,“野牛”比爾也想變,由於童年時遭到過繼母的虐待,比爾產生了種種變態心理,他去過變性手術中心,但是遭到了拒絕……他們的談話被主治醫生齊頓竊聽去,他想搶頭功,於是對漢尼拔進行嚴酷的審訊,然而一無所獲。克拉麗斯聞訊趕來,經過一番心理分析,漢尼拔了解了克拉麗斯為什麼總會聽到羔羊的慘叫,可正當博士要說出凶手的名字時,齊頓帶衛兵趕來把克拉麗斯架走了。不久。博士利用齊頓丟下的圓珠筆做成鑰匙打開了手鐐,殺死了衛兵,逃之夭夭。克拉麗斯一個人繼續尋找線索,逐漸把對象鎖定在一個叫詹米·岡的人身上,因為他曾在海關提過一箱來自蘇裏南的活毛毛蟲,還去過變性中心。
克拉麗斯找到了“野牛”比爾的住處,她和凶手在陰森的地下室裏發生了激烈較量。最後克拉麗斯擊中了比爾,救出了參議員的女兒。“野牛”比爾被擊斃了,然而更危險的人物卻又出現了。在慶功會上,克拉麗斯接到了漢尼拔博士的電話,電話掛斷後,漢尼拔戴著墨鏡,無聲地進入人流,尋找他的獵物——齊頓去了。