宁采臣(张国荣饰)的命运在一场大雨中发生了改变,他躲进了兰若寺,却与幽魂少女聂小倩(王祖贤饰)的命运交织在一起。
宁采臣在寺庙中偶遇了琴音幽幽的聂小倩,却不料聂小倩是一个被邪恶势力控制的幽魂,每夜寻找壮男的阳气来满足邪恶树妖姥姥(刘兆铭饰)。尽管宁采臣误认燕赤霞(午马饰)为凶手,但他的善良和正直引起了聂小倩的注意。聂小倩的内心逐渐萌生爱意,但燕赤霞一直阻挡他们的爱情。
树妖姥姥迫使聂小倩杀害宁采臣,但聂小倩拒绝了这一命令。于是,姥姥命令众魔将二人置于生死危险之中。幸运的是,燕赤霞出现,拯救了他们。在一场激烈的战斗后,燕赤霞封印了树妖姥姥一百年。
宁采臣终于得知聂小倩的真实身份,她是一位幽魂,因为尸骨被抛弃在荒野,被姥姥操控,为其夺取阳精以延寿。宁采臣答应将聂小倩的尸骨归还自然,以免再受折磨。然而,聂小倩却被地府老妖抢走,成为他的妻子。
宁采臣不愿放弃,一次又一次地请求燕赤霞的帮助,最终,他们成功解救聂小倩,这段生死情缘终于有了圆满的结局。