由于两年前揭发同僚贪污,台北警官黄火土(梁家辉)被上级报复调入冷门的外事组工作,利益也曾连带受损的新同事对他怒言相向,加上妻子清芳(刘若英)受不了他长期不回家要求离婚,黄火土感觉他的世界正在逐渐四分五裂。就在此时,三宗受害者的身份并无关联的震惊了台湾社会的离奇命案发生,法医(杨贵媚)验尸发现他们都是因中一种神秘的黑霉菌产生幻觉而死,因为缺乏此方面的人才,当局从美国请来此种案例的侦办专家凯文莱特(David Morse)协助破案,黄火土重被任用。随着一桩令所有人都目瞪口呆的事实的被发现,一场围绕政治利益与民众利益的斗争也在黄火土和办案伙伴李丰博(戴立忍)及整个警察队伍之间展开。
在上海纺织业大亨廖政鸿家中发生了一起可怕的命案,廖政鸿的独生子廖英琪醒来时发现一名死状可怖的女子被吊死在自己的卧室内。这一事件引发了广泛的谣言,许多人相信廖家早就传言中闹鬼,认为这是恶鬼所为。然而,廖家人却坚决否认认识这名死者,案情变得扑朔迷离,舆论压力也不断增加,迫使陈探长接手调查此案。 同时对案情表现出兴趣的还有陈探长的儿子陈天生,他曾留学德国,回国后在巡捕房做了翻译员。在勘查现场后,父子二人都觉得这起案件并不简单,特别是廖英琪表现出的怪异举止引发了他们的怀疑。经过调查,陈天生发现了许多疑点,如廖英琪的卧室并非最初的现场,死者是被勒死后再吊起来的。此外,廖家的花园虽然疏于管理,唯独玫瑰园异常茂盛,且被禁止外人进入,这引起了他们更多的注意。随着调查的深入,陈天生发现死者名叫姚红,是一家歌舞厅的舞小姐,而且怀有三个月身孕。为了进一步获取线索,廖英琪和法医韩玲来到歌舞厅调查情况。然而,意外发生在刘轩被打伤昏倒在地,而行凶者竟是廖家的佣人周玉芳。
中国特工刘剑(李连杰)受命前往巴黎帮助警察局侦破当地毒品走私集团。由于任务极度敏感,上级并没有告知刘剑具体的任务细节。他到达巴黎后,去见了合作的警察局高级侦探理查德(切基·卡尤 Tchéky Karyo 饰)。刘坚头一次与理查德面对面,就亲眼目睹他将一名嫌犯殴打致死。他实际上是贩毒集团成员,预谋杀害并诬陷刘剑。身手矫健、机智过人的刘坚只身击退了几十名理查德的打手的追击,成功脱身,并结识了美国人洁西卡(布里吉特·芳达 Bridget Fonda 饰)。洁西卡的女儿被理查德挟持,自己也因为吸毒受到理查德的胁迫,成为妓女。因理查德的诬陷,刘剑被指控犯有谋杀罪。他与洁西卡为情势所迫,不得不联手共同对付阴险狡诈的对手......