1928年,伪满洲国的日本翻译伊丹英彦(仲村亨)离开中国情人丁慧(章子怡)返回日本,数年后他再回中国来到上海时,变身高级特务。而此时丁慧已成为地下抗日组织的成员,并与该组织首领谢明(冯远征)相爱。抗日组织去火车站接从外地聘请的暗杀日本情报人员山本的杀手时,误认其为小职员司徒(刘烨),混乱中,丁慧杀死司徒女友依玲(李冰冰),司徒则被伊丹英彦抓获。
对一系列遭遇无比迷惑的司徒被释放后,发誓要为依玲报仇。丁慧与伊丹英彦重逢,成为两股势力互相设局要利用的重要棋子,她本人正为误杀无辜饱受内心折磨。某个日本会所举办的舞会上,伊丹英彦告诉丁慧山本与谢明均已死,丁慧震惊想刺杀伊丹英彦之际,司徒持枪闯进舞会。。丁善本(罗嘉良 饰)在6岁时因父母沉船身亡,弟弟不知所踪。后来他被丁荣帮(秦沛 饰)收养,荣邦视善本为己出,把金业生意全盘交给善本打理,本却因养父与犯罪集团勾结而被捕,没想到的是拘捕善本的是他的亲生弟弟钟守康(温兆伦 饰)。
善本在澳洲公干时邂逅了程天蓝(宣萱 饰),此时二人的关系陷入僵局,虽然最后水落石出,但善本的家庭背景阻碍了两人的发展。善本因养父的关系多次与守康发生争执,为了避免影响守康的前途,善本决定不与守康相认。而善本也知道守康一直喜欢天蓝,便决定忍痛与天蓝分手。
义弟丁善行(林峰 饰)受叔叔的挑拨继而认为善本杀害了父亲,无奈之下善本只好把刚走回正道的生意归还给善行。善本渐渐得到守康与天蓝的谅解,却再次卷入了江湖斗争中……。年轻的德国女警埃尔克在捷克边境一次例行车辆检查中无意间击毙了一个违抗了警方指令的捷克年轻人。埃尔克因此被警局停职调查,却仍旧坚信受害者行为不轨。一天晚上,死者的妹妹来拜访埃尔克,声称哥哥是无罪的,并指责埃尔克杀死无辜的人。第二天埃尔克因为无法承受的自责踏上了前往捷克的路。然而一切似乎并非看起来那样,埃尔克好像也踏入了陷阱……(豆瓣电影字幕翻译2.0小组)。