1917年,中國(guó)西南邊陲的劉家村。劉金喜(甄子丹 飾)和妻子阿玉(湯唯 飾)共同撫養(yǎng)兩個(gè)兒子方正和曉天,日子平淡且幸福。直到某一天,兩個(gè)不速之客打破了劉家村的平靜,也摧毀著金喜一家的生活。這二人企圖洗劫村中的錢(qián)柜,被剛好在此的金喜撞見(jiàn),一陣混亂打斗,二匪稀里糊涂被金喜打死。由于其中一人是政府通緝的要犯,因此縣官大喜過(guò)望,村里人也將金喜奉為大英雄。但是,這看似普普通通的盲打誤殺卻引起一個(gè)人的懷疑,他名叫徐百九(金城武 飾),是縣衙的捕快。從蛛絲馬跡上來(lái)看,二匪系死于武功高強(qiáng)人之手,徐百九由此留在村里,對(duì)金喜展開(kāi)了連番的觀察、調(diào)查與試探。 在這一過(guò)程中,金喜神秘的真實(shí)身份漸漸浮出水面,而劉家村也面臨著一場(chǎng)空前的危機(jī)……