Chương cuối của câu chuyện về Tiến sĩ Hannibal Lecter, một gã lạnh lùng giết người, giờ đang sống ở Ý và làm quản lý một bảo tàng. Clarice Starling (Julianne Moore), một đặc vụ FBI từng nhận được sự giúp đỡ của Lecter để bắt một kẻ giết người hàng loạt, đang phải phụ trách một ca phẫu thuật. Nhưng rồi có sự cố xảy ra với một người trong đội của cô, và cô bị phía Cục Điều tra liên bang gọi về Mat.
Paul Krendler (Ray Liotta), một quan chức cao cấp, muốn thông báo cho cô những vụ việc giết người liên quan đến Lecter. Tuy nhiên, Starling lại bị bất ngờ khi Mason Verger (Gary Oldman), một trong những nạn nhân tội ác của Lecter, lại đang âm thầm tìm cách trả thù. Verger đang tính toán để sử dụng Starling như một mưu mẹo để dụ Lecter.
Khi Lecter gửi cho Starling một bức thư, cô biết anh ta đang ở Ý và yêu cầu cảnh sát theo dõi tình hình. Nhưng có một viên cảnh sát tham nhũng, người muốn nhận phần thưởng từ Verger, lại báo cho anh ta biết nơi mà Lecter trú ẩn. Dù vậy, họ vẫn không thể bắt được Lecter. Cuối cùng, Verger quyết định chơi bẩn khi cố gắng dồn Starling vào đường cùng, dẫn đến việc Lecter quay lại Mỹ và cuộc truy đuổi để tóm gọn ông ta lại bắt đầu.