明朝严世藩(罗乐林)为排除异己杨继盛,遂派出豢养的杀手“十三死肖”往杨家斩草除根。杨家乃武林世家,十二死肖接连失手,藩最后唯有派出最厉害的第十三死肖“人”(钱小豪)执行任务。适盛之子云清(张兆辉)有事要赴武当,杨家无人能敌“人”之武功,惨遭灭门。当“人”手刃身怀六甲的杨家媳妇时,天刚正亮,就在此刻“人”发生极大变化!原来“人”只能于夜间杀人,天亮便复现人性。“人”在日出那瞬间杀人,良心发现痛不欲生,决背叛藩流浪江湖。藩恐“人”成后患,下令余下死肖追杀之。“人”幸得清仗义相助,得以歼灭所有死肖,清更不记旧仇助“人”解除毒咒回复常态。“人”为报答清,决以死赎前罪……。为了侦破棘手案件,警方往往借助线人之手获取情报。然而在行动过程中,却常常有意无意置线人于危险之地。一年前,线人废噏(廖启智 饰)的悲惨下场让香港警察李沧东(张家辉 饰)的身心备受煎熬,表面的荣迁始终洗刷不掉铭刻其心中的罪恶感。而如今,他不得不再次与新的线人合作。这次,他找到了命运多舛的小混混何细鬼(谢霆锋 饰)。为了搭救身陷水火的妹妹,细鬼无奈接受了李沧东的任务,打入金行大盗华天(陆毅 饰)的团伙内部获取情报。
在细鬼的帮助下,警方掌握越来越多的证据,抓捕的罗网也渐渐收拢。与此同时,细鬼的境遇也愈加危险。一年前的悲剧似乎将再次重演,李沧东该如何选择……。