泰国私家侦探陈探(郭富城饰)年幼父母失踪,长大后为了寻找父母的踪迹而当上私家侦探,在查案中发现父母已死,誓要找到杀害父母的凶手。几经辗转终于得知当年父母的朋友柴叔在马来西亚,便只身前往,然而柴叔却说知道真相的鹏哥已经死了。此时陈探接到电话得知家中被盗,连夜赶回家后发现屋子被翻了个底朝天,甚至连自己都不知道的床下暗格也被翻开,里面空无一物。陈探明白父母的死绝不是一件单纯的意外,便找到了马来西亚的私人侦探郑风喜(张家辉饰)。郑风喜正好陷入债务困局,为了钱一口答应下来。此时马sir(李晨浩饰)找到郑风喜,要求他配合警方寻找当地最大的毒枭的藏身处,为了让牢中的弟弟脱罪,郑风喜一边帮陈探寻找线索,一边查探着毒枭的行迹。二人刚上路就遭人跟踪,兵分两路却都被袭击,陈探负伤逃走,郑风喜被人偷袭打晕,衣服上被写上威胁字样。与此同时,柴叔也遭人袭击下落不明,陈探跟踪柴叔的养女芷慧(江一燕饰)一路到波叔处,得知波叔也是当年的知情人,波叔“好心”给了陈探一卷录音带,说是当年他父母保存的证据。不料,谈话刚结束波叔就被冲上人行道的车给撞死。陈探与郑风喜正好目睹事故发生,二人因此发生争执,郑风喜感觉到陈探背后必有不可告人的秘密,决定不再与陈探同谋。然而撞死波叔的一群人向二人追来,在合力突破重围的过程中,郑风喜的正义感被激发,决定帮陈探找到凶手。而波叔给的证据也被证实是假的,一筹莫展之际,两人兵分两路,陈探和芷慧跟着线索去到广州寻人,郑风喜则去波叔的葬礼上打探风声。二人各有斩获,一卷家庭录像带和一卷磁带,直指最终真凶。面对势力庞大的黑帮老大,帮众的阻挠,二人面临前所未有的困境。