书生杨予畏为求取功名于荒斋中攻读八股。在此,他结识了鬼魂连锁。一连数夜,连锁都来荒斋与杨吟诗抚琴渐生情愫。连锁用自己的陪葬物玉镯、金钗替杨家还了债。当阴间的鬼吏白无常硬逼连锁给他作妾时,杨在朋友帮助下挫败了白无常,并用自己的精血使连锁复活。杨送连锁回到家中,连府上下喜出望外。但连员外嫌杨贫寒,拒收他为婿。赴京赶考的杨走到旷野河边,忽觉腹中疼痛难忍,狐狸精娇娜一家为他解除了病痛,并挽留他在家中复习迎考。病愈之后,杨重新上路。一天,他下榻在一个庙宇内,入夜,桂花精聂小倩在画皮妖魔的逼迫下,前来勾引杨,被杨赶走了。小倩见他真是正人君子,便将免遭妖魔毒手的方法告诉了他。杨脱险后,将后院一棵桂花树救活了,以报小倩搭救之恩。考场上,小倩巧施魔法,将杨的一篇锦绣文章换成了一纸狗屁不通的考文,果然使杨荣登榜首。杨不禁连发感慨。回乡的路上,杨为救娇娜一家免遭雷霆劫难,手持宝剑刺中了云中怪物,而自己却被雷霆击昏了。娇娜为报答杨救命之恩,将仙丸吐入他的口中,救其脱险。杨终于赶回了连府,却只见一片荒芜废草。原来,连锁抗命不从,又得不到心上人的音讯,便悬梁自尽了。杨心痛无语、借宿连锁生前的绣楼。悲恸睡梦之中,冤魂重现,慨叹人生夙愿,只有辞别人世之后才能了还。