סומרסט (מורגן פרימן) עומד לפתוח פרק חדש בחייו, כשהוא מתקרב לפרישה ממשטרת העיר. אך לפני שהוא מסיים את דרכו, הוא מוצא את עצמו שותף לחקירה עם השוטר הצעיר מילס (בראד פיט), שמגיע עם אנרגיות ונחישות חדשות. השניים נדרשים להתמודד עם מקרה רצח מזעזע: עורך דין נמצא מת בביתו, ומעל גופתו כתובה במילים אדומות המילה "חמדנות". במהרה מתברר כי הרצח הוא רק תחילתו של תעלומה מורכבת, שבה הרוצח מתבסס על שבעת החטאים הקדמוניים – חמדנות, זלילה, תאווה, עצלות, גאווה, קנאה וכעס – כדי לתכנן את מעשיו.
סומרסט (מורגן פרימן) ומילס מנסים לפענח את הקשר בין החטאים השונים לבין הרציחות, כשכל מקרה חושף צד אחר של האכזריות האנושית. החקירה מעמיקה אל תוך נפשותיהם של הקורבנות וההרוצח כאחד, ומעלה שאלות קשות על מוסר, צדק וגבולות החוק. ככל שהחקירה מתקדמת, השניים מתמודדים לא רק עם האימה שבפשע, אלא גם עם הפערים ביניהם – בין ניסיון החיים של סומרסט לבין התשוקה והעצבנות של מילס. המתח גובר כאשר הרוצח, ג'ון דו (קווין ספייסי), מכתיב את קצב המשחק, מנסה להוביל את השוטרים אל נקודת שבר אישית ופסיכולוגית. סומרסט (מורגן פרימן) ומילס עומדים בפני מבחן קשה, כשהם מגלים שהסכנה האמיתית לא רק בחוץ, אלא גם בתוכם עצמם, והאם יצליחו לעצור את מעגל האימה לפני שיהיה מאוחר מדי. במהלך החקירה, סומרסט מביע ספקות לגבי יכולתם לעצור את ג'ון דו לפני שיגרום לנזק נוסף, בעוד מילס מתמודד עם רגשות אישיים שמאיימים לערער את שיקול דעתו. היחסים בין השניים מתהדקים, כשהם לומדים להעריך את נקודת המבט של האחר. בסופו של דבר, ההתמודדות עם החטאים והבחירות האישיות שלהם מובילה את סומרסט לקבל החלטות משמעותיות לגבי עתידו, ומילס מתמודד עם השלכות טראגיות שמשנות את חייו לנצח. הסרט מציג מסר עוצמתי על הטבע האנושי, הצדדים האפלים שבו, והמחיר הכבד של הצדק.
