1905年,香港中环。革命者惨遭暗杀。清廷得知孙中山(张涵予饰)即将抵港,派大将燕小果(胡军饰)前去剿灭。他收买了赌徒沈沉阳(甄子丹饰)当间谍。恰逢商人李玉堂(王学圻饰)之子李重光(王柏杰饰)的中考庆典。重阳眼看着前妻月如(范冰冰饰)和年幼的女儿成了别人的家人,黯然离去。社长陈少白(梁家辉饰)为保护孙子,请话剧团团长(任达华饰)前去相杀,女儿方红(李宇春饰)幸免于难。陈少白被抓,遇到了燕小果,师生不欢而散。独子心腹被捕等事件导致李玉堂投身革命,引来史密斯督察(曾志伟饰)查封报社。与此同时,李玉堂帮助马车夫阿四(谢霆锋饰)与情人阿春(周韵饰)订婚。月如夜将重重的放在了太阳身上,要他改造自己。打人少女方红、小贩王福明(巴特尔饰)、乞丐刘玉白(黎明饰)等人也相继加入保护孙子的行列。一场惊心动魄的全城追逐开始了……本片投资1.5亿人民币。历史上首次将1905年的香港中环按1:1的比例在上海重铸。