片中主角牛叔的父亲在日本统治时期是个汉奸,他为了保全自己的性命而将抗日义士的全家杀害。义士沉冤地下之后变成了冤魂,并誓杀牛叔全家为自己一家人报仇。牛叔拥有阴阳眼能看见游魂,并与群鬼交上了朋友。在群鬼的保护之下,义士的冤魂未能伤害牛叔,于是又转向牛叔的儿子辉下手。为免辉遇害,牛叔将辉送往国外避难。自此,牛叔在新界经营山水茶楼,白天营业,晚上却款待群鬼以答谢保护家人之恩。 辉二十六岁时回港发展,地产发展商计划收购牛叔茶楼地皮,牛叔坚持不卖,辉决定盗取地契及印鉴卖地。被牛叔发觉后,慌乱间辉以重物击倒牛叔。辉忤逆伤父,触怒群鬼,他们不再保护辉,义士冤魂终得以有机会向辉下毒手。辉在车祸中死去,其魂魄回到茶楼,才知道老父往日招呼群鬼的原因,辉悔恨不已。此时冤魂又向牛叔下手,牛叔与冤魂达成交易,愿以自己的性命换取儿子的性命。当辉醒来时,发觉在车祸中丧生的竟是牛叔。...。离岛“长短洲”警署,特警组长何劲秋(吴元俊 饰)新官上任三把火,接连破获毒品窝子和赌局等案件,风头正劲。在追踪瘾君子大烟枪(张学友 饰)的途中,何巧遇当年同在九龙当差的队友任千行(万梓良 饰)。时任千行因涉嫌诈骗被驱逐出警察队伍,当发现有利可图时,他有意与何等人接近。
打扮光鲜、出手大方的任千行引起薪水稀薄的小警察们的好奇和羡慕,在得知任从事高利贷生意时,他们纷纷将自己的积蓄拿出。众多警员中,只有吝啬鬼包不平(秦沛 饰)按兵不动,这也让他躲过了任千行设下的金钱陷阱……。12岁的侄子宽宽,在假期去看望退休后独自在上海生活的姨妈(斯琴高娃饰)。在宽宽眼里,姨妈是个怪癖多多的人。
一次姨妈在公园遇到了一个从广东到上海来发展的江湖混混潘知常(周润发饰),这个神秘男人使得姨妈神魂颠倒,两人因京剧成了知音,并演绎出一段黄昏恋情。不料好景不长,潘知常带着姨妈的棺材本积蓄一道消失。与此同时,姨妈又发现保姆(史可饰)竟然是靠“碰瓷”来赚取外快。接连发生的事件让姨妈醒悟万千,她决定离开上海,回到东北的家,那里有已经疏远了的丈夫和女儿(赵薇饰)……。