六十年代,香港警察受贿成风,赌档粉档与中间人、警方组成的利益链大肆吸金,十年内警方受贿数额达当时的百亿港币之巨。
九龙城区便衣火麒麟(黄秋生 饰)为破案不择手段,上峰施压,火麒麟如常去街上拉人顶罪,大学生韩志邦(方力申 饰)遭其陷害毒打,韩母托老警员找到警方与帮会的中间人猪油仔(王晶 饰)出面搭救得脱。人称乐哥的徐乐功(梁家辉 饰)时任华人总探,为人狂妄,出手大方。陈细九(陈奕迅 饰)心地善良尤擅察言观色,深得乐哥赏识,短短五年之内由普通便衣晋升至筲箕湾区探长,但代价之一是家中为掩人耳目收留了各位大哥的九名情妇……
1974年,香港的贪污恶风震动国际,廉政公署成立,长官严国梁(林保怡 饰)聘用大学生韩志邦、失意警员火麒麟等组成第一批廉政专员队伍,严厉打击香港的地下规则。陈细九因贪污案发人财两空之际,却意外的发现了此生真爱……。1972年的越南战争,韩国亦卷入其中。崔泰宇(甘宇成 饰)中尉所在的部队在一场战争中全部被歼,仅剩崔泰宇一人生还。崔泰宇常常被噩梦折磨而醒,为摆脱心魔,他主动要求归队,但迟迟得不到批准。
CID的副队长对崔泰宇下达了一道秘密搜索的命令:6个月前在R-高地战争中已确认阵亡的18名士兵持续发来求救信息,要求崔泰宇带领部队前往R-高地进行搜救。
3天后,崔泰宇带领10几名部下来到了R-高地入口,那里原来有一座古庙,因战争被炸毁,但庙前的石碑依然高耸着:双手染血者不归……。