1928年,伪满洲国的日文翻译伊丹英彦(中村浩饰)抛下中国情人丁慧(章子怡饰)回到日本。几年后回国来到上海,他摇身一变成为高级特务。此时,丁辉已成为地下抗日组织的一员,并爱上了该组织的头目谢明(冯远征饰)。抗日组织去火车站接外地雇来刺杀日本情报官山本的杀手时,误以为他是店员司徒(刘野饰)。混乱中,丁辉杀死了司徒的女友依玲(李冰冰饰),司徒被伊丹擒获杀害。因一连串的遭遇而迷茫至极的司徒获释,并发誓要为夷陵报仇。丁辉与伊丹秀彦重逢,成为两方势力用来设局的关键棋子。她自己也因误杀无辜而遭受着内心的折磨。在日本某俱乐部举办的舞会上,伊丹秀彦告诉丁辉,山本和谢明都死了。就在丁辉大惊失色想要刺杀伊丹秀彦时,司徒持枪闯入球中。