1941年第二次世界大战肆虐时期,德国纳粹入侵苏联。在经历长达4个月的攻坚战无果后,希特勒决定用饥饿和围困的方式夺取列宁格勒。纳粹围城三年,尸横遍野的列宁格勒成为一座死亡之城。 英国女记者凯特·戴维斯(米拉·索维诺 Mira Sorvino 饰)在前线采访时,与她的爱人美国记者菲利普·帕克(加布里埃尔·伯恩 Gabriel Byrne 饰)失散,被困列宁格勒。孤立无援的凯特幸得列宁格勒义勇军女警妮娜(欧嘉·苏图洛娃 Olga Sutulova 饰)的帮助与庇护。两人坚守在冰天雪地的战火之中,与饱受饥饿折磨的苏联军民一起,为生存而战。
警官约翰·荷伯斯(丹泽尔·华盛顿 Denzel Washington 饰)新近逮捕了一名杀人犯里斯,此人除了在电刑前说了几句奇怪的语言跟留下了一则暗语,并无特别之处。然而荷伯斯很快发现里斯的暗语指向一名三十年前自杀的警察罗伯·米拉诺。与此同时,几起连锁杀人案接连发生,凶手的手段如出一辙,更令人惊异的是每次的受害者即是上一桩凶案的嫌凶。荷伯斯拜访了罗伯之女格瑞坦,对方劝诫荷伯斯放弃调查。里斯的留言终被破译,原来他用叙利亚的古语言向荷伯斯发出威胁,而荷伯斯的坚持有了进一步的收获,他发现罗伯与近期几宗凶案的死者可能皆出自名为“阿萨索”的恶灵之手,阿萨索可以随意依附人体作恶,荷伯斯的缉凶之路因此而困难重重。这场人与恶灵之战,究竟如何收场?