庄天(元华 饰)和董兆匡(张国强 饰)曾经是行业内最最有名的一堆捉妖天师,然而清末民初的一场社会大变革让捉妖师变成了宣扬封建迷信的神棍,无奈之下,两人只得前往广州,在那里寻得了一份警察的差事。虽然不再是捉妖师了,但董兆匡却依然忘记不了昔日的辉煌,他结识了商人阿堂(任世官 饰),阿堂表面上是经营正当生意的商人,实际上却干着贩毒的勾当,董兆匡听信了他的花言巧语,开始利用僵尸来帮助他运毒。 董兆匡的徒弟晓东(陈晓东 饰)爱上了阿堂的女儿翠玲(谭小环 饰),然而董兆匡早已经开始打起了翠玲的主意。
于凡(周润发 饰)是在片场跑龙套的电影替身,不仅工作充满了危险,生活还及其的不稳定。江浩文(梁朝伟 饰)在公司上班的小职员,过着朝九晚五的生活,日复一日充满了枯燥和乏味。命运的作弄让这两个看似八竿子打不到一起的人相遇了。 于凡有一位交往多年的女友名叫杜旖玲,前者将其视为终会携手步入婚姻殿堂的存在,然而,杜旖玲却并不这么想,在于凡身上,她看不到未来。最终,这段恋情已分手告终。与此同时,江浩文在公司里饱受上司的欺压,不堪重负的他最终愤然辞职。就这样,两个同样失意的男人住进了同一屋檐下。