1928年,偽滿洲國日本翻譯伊丹英彥(仲村亨)與戀人丁慧(章子怡)分離后重返中國,成為日本特務。此時丁慧已加入抗日組織,并與首領謝明(馮遠征)相戀。在接應暗殺日本情報官山本的殺手時,抗日組織誤將小職員司徒(劉燁)認作目標,混亂中丁慧射殺司徒女友依玲(李冰冰),司徒則被伊丹俘獲。釋放后的司徒誓要復仇,而丁慧因誤殺無辜陷入自責,在伊丹與抗日組織間淪為博弈棋子。舞會上,已成為特務首腦的伊丹告知丁慧山本與謝明均已遇害,驚愕中的丁慧欲刺殺伊丹時,司徒持槍闖入現場。三方矛盾在槍口對峙中達到頂點,個人情感與民族仇恨交織成無法調和的宿命漩渦。