古天樂的監獄電影。
香港發生了許多濫用私刑的案件。沒有受害者死亡,但他們被鞭打。這些受害者都是明明有罪卻被法院宣判無罪的人渣。當他們被放回去時,他們都聲稱這是壹個戴著奇怪面具並自稱為“女巫”的人幹的。又聞“叉”色變,終日惶恐不安。高級警官華啟倫(陳小春)受命調查此案。他出人意料地選擇了傑叔(柯受良飾),壹個即將退休並害怕死亡的老警察作為他的伴侶。其實傑叔以前很勇敢的。他的兩個養子,小太(古天樂飾)和子念(謝天華飾)也是警察。當年他們三人在旺角警署工作,號稱“旺角三鷹”,但後來不知何故子念死了,小泰進了監獄,傑叔也日漸消沈。華啟倫根據“夜叉”對法律的掌握和嚴格訓練,懷疑是派出所內部人員所為。他之所以想讓舒潔和他合夥,是因為他懷疑“旺角三鷹”之壹的小泰是個“夜叉”,舒潔是他的幫兇。在他的苦苦追問下,傑叔講了壹段往事。“旺角三鷹”壹起執行任務,抓捕壹批毒販。在激烈的戰鬥中,蕭泰不小心誤殺了子念。怒不可遏的肖泰殺死了已經放下武器投降的毒販,以過失殺人罪被判入獄。肖泰被捕時,舒潔說要和他共進退。如果肖泰進了監獄,他也辭職了。結果,肖泰入獄後,考慮到三年後能拿到100萬港幣的退休金,舒潔沒有辭職。刑滿釋放的肖泰對舒潔不滿,斷絕了與他的聯系。花輪認為舒潔不是“夜叉”的幫兇,但他更確定蕭泰是真正的“夜叉”。雖然“夜叉”懲罰的是罪有應得的人,但當花輪不允許任何無視法律的行為時,他決心逮捕“夜叉”。這時,壹名搶劫殺人犯被判無罪,華奇倫決定以他為誘餌,引出“夜叉”。蕭泰的確是個“夜叉”。他在監獄裏被自己逮捕的囚犯毆打。出獄後,他性情大變,決心懲罰那些用黑暗手段鉆法律空子的人。他得知警察有壹個像華啟倫壹樣的高手在追殺他,決定殺了劫匪示威。他偽裝成花輪設下的陷阱殺死了強盜,但花輪追上了他。正當花輪要開槍時,舒潔擊倒了花輪,救出了小泰。傑叔勸小泰住手。為了不讓傑叔為難,小泰答應離開壹段時間,等傑叔退休了再回來。傑叔回到警局,因襲擊老板被捕。傑叔倒是不以為意,覺得自己很有良心。準備離開的肖泰得知舒潔被捕,拼命趕來救他。他又見到了花輪。肖泰把花輪作為人質,但最後他被警察包圍了。最後,我決定停止我同樣罪惡的行為,卸下手槍裏的子彈,推開花輪,將沒有子彈的手槍對準我面前的警察,最後被警察開槍打死。