《开心鬼撞鬼》的主要剧情讲的是,生前是过气女歌星的女鬼徐半香(张曼玉饰),算准某名将要临盆的孕妇会于某间医院生产,准备投胎重新做人,不想,该孕妇被摇身变作某所高中教师的康森贵(黄百鸣饰)送错医院,徐半香错过投胎时机。虽然尚有机会再次投胎,为泄心头之恨,徐半香开始想方设法捉弄康森贵,最甚一次,她附身开心鬼班里女班长戴卓仪(袁洁莹饰),令她跑到夜总会稀里糊涂地大闹了一场,结果在该家夜总会寻欢作乐的一群流氓被抓,康森贵受到无辜牵连,徐半香又得意又担忧之时,开心鬼教康用爱去感动徐以息她的报复的行为。流氓首领出狱往找康报复,以他的学生为人质要挟。在这个电影里,张曼玉饰演的的是女鬼徐半香,在看这个电影张曼玉演的徐半香即将消失的时候,心里满满的都是悲伤。