在唐朝末年社會動蕩的背景下,武林中每18年舉行一次的賞善罰惡大會如期召開。大會上,武林十大前輩推舉移花宮主擔(dān)任追殺十大惡人的重任,然而這一決定卻遭到其夫君、大俠燕南天的突然阻止。宮主與燕南天比武,以一招之差落敗,夫妻因此反目成仇。憤怒的宮主立下誓言,要在18年后傳授一名弟子,殺盡十大惡人。
另一邊,十大惡人為報(bào)答燕南天的救命之恩,承擔(dān)起撫養(yǎng)其兒子小魚兒(劉德華 飾)的責(zé)任。他們意圖將小魚兒培養(yǎng)成天下最惡之人,以扭曲的方式“回報(bào)”燕南天。與此同時,移花宮主收養(yǎng)了孤兒花無缺(林青霞 飾),不僅傳授其高強(qiáng)武功,更不斷灌輸“天下男人皆可殺”的極端思想,將她塑造成一個冷酷無情的復(fù)仇工具。
18年光陰轉(zhuǎn)瞬即逝,小魚兒在惡人谷的嬉笑怒罵中長大,雖被視為“惡人”,卻保留了內(nèi)心的善良與不羈?;o缺則在移花宮的嚴(yán)格訓(xùn)練下,武功卓絕卻情感封閉。新一屆的賞善罰惡大會即將來臨,十大惡人與移花宮主分別命令小魚兒和花無缺爭奪武林盟主之位。原本平行的命運(yùn)軌跡就此交叉,兩人在江湖中相遇,從最初的敵對到逐漸了解,復(fù)雜的恩怨與身世之謎緩緩揭開。影片以幽默詼諧的方式,展現(xiàn)了這對“雙驕”在愛恨糾葛與武林紛爭中的成長與抉擇,穿插著吳孟達(dá)、張敏、吳鎮(zhèn)宇、袁詠儀等演員帶來的精彩笑料與動人表演,構(gòu)成了一部集武俠、喜劇與情感于一體的經(jīng)典之作。