1905年,香港中环。 革命爱国人士惨遭杀害。 清廷得知孙中山(张涵予饰)即将抵达香港,派将军严小果(胡军饰)前去追杀。 他收买了赌徒崇阳(甄子丹饰)作为间谍。 恰逢商人李玉堂(王学圻饰)之子李重光(王百杰饰)庆贺,重阳看到前妻月如(范冰冰饰)和年幼的女儿已成家,黯然离开。 成为别人的依赖者。 总裁陈少白(梁家辉饰)为了保护孙子,请戏院领导(任达华饰)出手,导致家破人亡。 他的女儿方红(李宇春饰)幸运地活了下来。 陈少白被抓,遇见了严小果,师生不欢而散。 唯一的儿子在游行中被捕等事件促使李玉堂投身革命,从而导致史密斯侦探(曾志伟饰)夺取了报纸。 与此同时,李玉堂帮助车夫阿四(谢霆锋饰)与恋人阿春(周韵饰)订婚。 月如在夜晚遇见了沉重的太阳,要求他抛弃黑暗,转向光明。 女孩方红、小贩王福明(巴特尔饰)、乞丐刘玉白(黎明饰)等人也加入了保护孙子的行列。 一场惊心动魄的全城追逐开始了……本片投资1.5亿元人民币,史上首次将1905年的香港中环以1:1的比例在上海重拍。