1928年,伪满洲国的日本翻译伊丹英彦(仲村亨)脱离我国情人丁慧(章子怡)回来日本,数年后他再回我国来到上海时,变身高档间谍。而此时丁慧已成为地下抗日安排的成员,并与该安排领袖谢明(冯远征)相爱。抗日安排去火车站接从外地延聘的暗杀日本情报人员山本的杀手时,误认其为小职工司徒(刘烨),紊乱中,丁慧杀死司徒女友依玲(李冰冰),司徒则被伊丹英彦抓获。 对一系列遭受无比利诱的司徒被开释后,立誓要为依玲报仇。丁慧与伊丹英彦重逢,成为两股势力相互设局要使用的重要棋子,她本人正为误杀无辜饱尝内心摧残。某个日本会所举办的舞会上,伊丹英彦告诉丁慧山本与谢明均已死,丁慧震惊想刺杀伊丹英彦之际,司徒持枪闯进舞会。