文弱书生宁采臣(张国荣饰)外出收帐的路上,突遇大雨,于是躲进了路边的兰若寺,他想在此借宿一晚,但是寺里的道士燕赤霞(午马饰)却死活不同意。宁采臣无奈之下半夜偷偷潜入寺中,半夜被琴声吸引,于是邂逅美丽女子聂小倩(王祖贤饰)。温柔的聂小倩突然起了杀心,幸亏燕赤霞及时出手,救了宁采臣一命。完全不知情的宁采臣和聂小倩产生了爱情,却被燕赤霞阻止。不明所以的宁采臣以为燕赤霞是杀人犯,想带小倩离开小倩违背树妖姥姥的命令不愿伤害宁采臣,树妖一怒之下带着人杀害小倩和宁采臣,燕赤霞救下他们二人,并将树妖封印在树下。直到这时宁采臣才知道小倩的真实身份,小倩是孤魂野鬼,被树妖控制。宁采臣送小倩的尸骨回乡安葬,不料小倩又被地府老妖抢走,最后燕赤霞在宁采臣的苦苦哀求下,出手救回小倩。