1928年,滿洲。日本翻譯伊丹英彥(仲村亨飾)離開中國情侶丁慧(章子怡飾)返回東京。數年後他到上海時,已成為一名特務。而丁慧目睹了主辦抗日報紙的哥哥被日本人刺殺,之後來到上海,參加了對日地下抵抗組織,並與組織首領謝明(馮遠征飾)産生感情。
抵抗組織從外地聘請了一名殺手,計劃暗殺日本情報人員山本。在火車站,一個非常偶然的紕漏,使火車上坐在該殺手對面的小職員司徒(劉燁飾)被誤以為是殺手。抵抗組織成
員上前與司徒接頭並提供暗殺對象資料,“殺手”的異常反應引起混亂,槍戰中,負責掩護接頭者的丁慧誤殺了來接站的司徒女友依玲(李冰冰飾)。
拿到資料的司徒被山本的手下伊丹英彥抓獲,嚴刑拷打之下的他對這一切懵然無知。伊丹從抵抗組織內部的姦細處得知司徒的確是盲打誤撞進來的倒楣蛋,便把他放了。抵抗組織卻認為被釋放的司徒已成為漢奸,要將其消滅。司徒從一個局外人變成深陷混亂,受到日本情報機關與抵抗組織的雙重威脅,卻對任何一方都完全無法解釋。而伊丹偶遇舊情人丁慧,兩人的會面偏又被司徒發現,這讓司徒對身邊的事情徹底迷惑,而為依玲的復仇更是完全沒有目標。
對失去真正殺手的抵抗組織來説,他們必須自己完成暗殺山本的計劃。新舊情人正好分處兩個陣營的丁慧,成為雙方互相設局必須利用的重要對象,加之誤殺無辜的內心折磨,她同樣極度茫然。
丁慧隨伊丹來到日本人的會所參加聚會,兩人相擁起舞。伊丹告訴丁慧,山本不會來了,謝明也不會來了,他已經死了。震驚的丁慧刺傷伊丹,司徒闖進舞場,槍殺伊丹之後,調轉槍口對準了丁慧。
責編:吳祺