清朝中葉,內憂外患,傳統崩潰,民生凋敝。小男孩楊露禪額頭天生肉角、相貌奇異,卻只會吃和傻笑,大家認定他這輩子只能混吃等死,唯獨楊母(舒淇 飾)認為兒子露禪(袁曉超 飾)天賦異稟,將來必成大器。隨著年齡增長,露禪漸漸展現異於常人的能力——對於種種拳腳招式,過目不忘,尤其是頭頂肉角一旦被觸動,更是力大無窮,無人能敵。高人指出,如能善用此天賦,他將成為絕頂高手,但若放任其顏色由紅轉黑,必有性命之虞。露禪一路顛沛流離來到陳家溝——太極拳的發源地,希望學拳保命。孰料陳家拳不傳外人,所幸有神秘老人(梁家輝 飾)總在關鍵時刻暗中指點,露禪進步神速,令村民刮目相看。一向平靜的山村,因為朝廷修築鐵道面臨滅村危機。在陳家溝成長,從英國學成歸國的直隸鐵道總監造方子敬(彭於晏 飾),為了自己的前途,不惜犧牲鄉親的利益。玉娘(楊穎 飾)與子敬青梅竹馬,面對愛人背叛,傷心欲絕,決定不惜性命保護家園。子敬率領機械怪獸“特洛伊”直搗村口,威脅村民限期搬離,否則夷為平地。露禪在神秘老人的指點下,與玉娘並肩作戰,一舉摧毀特洛伊,打退清兵,拯救全村。陷入瘋狂的方子敬,誓言以更強大的火力報復,而玉娘也做出了一個重大決定……