人群洶湧澎湃,廣場正在大螢幕上播放,近日不明身份的人在高空抛出頻道水,造成100名市民受傷,警方紅了90萬人追上兇手。
約翰斯頓(劉德華飾)敲了敲導杆,用嗅覺跟蹤了眼前的中年男子。在不遠處的高樓裡一直在觀察人群的斯圖法寶(郭濤飾),發現莊世頓(劉德華飾)後,立即派出警員賀家璇(鄭秀文飾)跟了上去,兩人相遇,向高空投擲腐蝕性液體的兇手被逮捕。
何家璇(鄭秀文飾)仰慕莊世彤(劉德華飾)破案能力,十年前請他幫忙找失蹤的學姐小敏,并告訴莊世玠(劉德華飾)失蹤前在樓下站了幾天幾夜,最後一晚甚至用刀自殘,但因為小敏奶奶殺了男友煎炸它, 小敏媽媽殺了老公,焙菜的東西不想接近小敏,但現在很遺憾。莊世玠(劉德華飾)也因為家居裝飾搬進了賀家玄的家。兩人在搜尋小敏的過程中發現了各種未決案件,也發現了十年前小敏失蹤的真相。
1992年4月17日,九龍公共太平間大屠殺。莊世鈞(劉德華飾)和賀家璇(鄭秀文飾)在死者和"兇手"德柴的案件中,還原了犯罪現場,從電視機上砸死了死者,找出嫌疑人,發現現場有第三方,"兇手"德柴被殘忍毒死,疑似德柴和叔叔的同僚李德勝, 并在澳門賭場敲了敲案頭。
莊世頓(劉德華飾)通過時間線推測,犯罪當天三個人正在觀看現場賽馬,德柴和紹伊叔叔買了大獎,并中了六環彩票大獎,而真正的兇手李德勝因為一直沒有兩個人合作,發自内心的怒火,殺了兩個人,拿走了又赢了五百多萬。而在澳門賭場的敲門案例合并。李德勝不是一個好的經營者,在廠輸了賭博後,賭不完,尾随赢家,用錘子砸他的頭,搶走了被害人的錢。莊世敦(劉德華飾)和何家璇(鄭秀文飾)犯罪引誘李德得勝,并逮捕了他。

莊世珞(劉德華)調查小敏案,想起小敏奶奶、母親的極端行為,推測黑夜不是在等何家璇(鄭秀文飾),而是在等一個男孩,一個闵心愛的小男孩。
這涉及到當年何家軒(鄭秀文飾)樓上鄰居一個帥哥阿祖,97年移民巴西,又回到香港,兩人去了阿祖的店,現在阿祖是鐵杆廚師。側敲側撞阿祖否認認識小敏,但莊世端(劉德華飾)還是通過阿祖的工藝品嘗到了不同的味道,當提到小敏時,阿祖的心裡并不在心,導緻這頓飯的味道明顯鹹。兩人随後跟蹤了阿祖,于是也發現了阿祖與酒店經理的不正當關系,并目睹了阿祖的妻子,一個大肚子的孕婦,以及女經理的丈夫的強奸場面。
計程車司機連環殺手。在推測阿明在夜間獨自離開後,約翰斯頓(劉德華飾)找到了近年來失蹤的女人(兩人都在失戀後失蹤),并将目标鎖定在幾名疑似計程車司機身上。
莊世玠(劉德華飾)和何家璇(鄭秀文飾)來到嫌疑人陳光佳面前,陳光的精神出現了很嚴重的問題,赤裸的上身,卻穿着不屬于她的女式棒球裙和棒球鞋,何家璇(鄭秀文飾)問他是否曾經懷過一個穿着棒球服的女孩, 而陳光的回答是肯定的,帶兩個人去找女孩,但在院子裡,酒罐裡發現了幾根白骨頭。何家璇(鄭秀文飾)情緒稍顯失控,與陳光發生暴力沖突,受重傷,情況危急,莊世珞(劉德華飾)憑借多年經驗向陳光繩索法,這也上演了盲駕現場,何家璇(鄭秀文飾)也被送往醫院接受治療。斯圖法寶(郭濤飾)帶來了壞消息,在所有白骨中,沒有缺少小敏的骨頭。
蕭敏失蹤的真相。莊世鑵(劉德華飾)回憶起小敏失蹤案的全過程,找到了洩密之處,再次來到阿祖的店鋪。店裡安靜下來,"我來找阿祖,他在那裡嗎?"一個女人從桌子後面站起來,是阿祖的妻子,"他不在這裡,我隻是和他吵架了,"她的聲音聽起來很悲傷,女人給約翰斯頓(劉德華)倒了一杯酒,空氣中彌漫着血腥的氣味,阿祖和女經理已經被殺了。約翰斯頓(劉德華飾)來到這裡是為了證明一些事情,給一個女人講一個故事。
小敏害怕自己再也找不到那個男孩了,她甚至不知道去哪裡找他,但她沒有放棄,她告訴自己,要冷靜下來。女孩躲在衣櫃裡,登上了前往巴西的遊輪,但她沒想到會躲藏二十七天。當地人收養了她,改了她的名字,改了姓,一直潛伏在男孩身邊,長大後有了整容,成功找回了男孩,但男孩的本性,婚姻也走到了盡頭。"
女人已經抽泣了,懷孕期間,羊水破裂了,但給莊世頓(劉德華飾)舉起了一顆殺傷的心,就在何家璇(鄭秀文飾)來的時候,急事,兩個人不忍心去幫助女人,和小敏一起,留下了一個女嬰,并作為自己的,和小敏一起死于分娩。
戲劇的結尾。