1917年,中国西南边陲的刘家村。刘金喜(甄子丹 饰)和妻子阿玉(汤唯 饰)共同抚养两个儿子方正和晓天,日子平平且美好。直到某一天,两个不速之客打破了刘家村的平静,也摧毁着金喜一家的生活。这二人企图掠夺村中的钱柜,被刚好在此的金喜撞见,一阵混乱打架,二匪稀里糊涂被金喜打死。由于其间一人是政府通缉的要犯,因而县官大喜过望,村里人也将金喜奉为大英雄。但是,这看似普普通通的盲打误杀却引起一个人的置疑,他名叫徐百九(金城武 饰),是县衙的捕快。从蛛丝马迹上来看,二匪系死于武功高强者之手,徐百九由此留在村里,对金喜展开了连番的调查、调查与打听。 在这一过程中,金喜奥秘的实在身份渐渐浮出水面,而刘家村也面临着一场空前的危机……