为弘扬民族正气,精武英雄陈真(甄子丹 饰)当年在上海虹口道场击杀日本武术高手。在此之后他更名改姓,背井离乡,远赴法国务工。一战后陈真化名齐天元,重返阔别已久的祖国,并以实业家的身份结识了上海大亨刘禹天(黄秋生 饰)及性感妖艳的夜总会女郎KIKI(舒淇 饰)。刘张扬跋扈,大发战争财,但尚存中国人的骨气;KIKI表面单纯,实则是日本女间谍,长期潜伏夜总会搜集情报。一战虽然结束,但战争的阴影远远没有散去。陈真加入秘密的抗日组织,并希望争取到刘禹天的支持。与此同时,以皇军大佐力石猛(木幡龙 饰)为首的暗杀军团开始向爱国志士痛下杀手。 鱼龙混杂、暗流涌动的上海滩,已是黑云压城,暴雨将至……
昭和31年(1956年),静冈县印刷商望月次郎受临退休刑警田岛委托,印刷一份“刑事搜查资料”。资料中记载了一桩已过追诉时效的土木工人被杀案,案件牵涉“修善寺妓女”大塚花与天城隧道附近被目击的14岁少年。翻阅资料时,望月被封印的记忆逐渐复苏——那个“少年”正是31年前的自己,而大塚花则是他的初恋。当年,二人曾赤脚携手翻越天城山,共度数小时如梦似幻的恋情。花的笑靥、清丽歌声与掌心余温犹在,然而分别后花却因杀害工人被捕。警方审讯中,花在田岛刑警的逼供下认罪,但其供词充满矛盾,仿佛刻意包庇某人。31年后的今日,田岛刑警为何突然造访望月?又为何偏执地逼迫他直面往事?当事件“真相”最终揭晓,望月与花跨越半生宿命重逢。