浙江书生宁采臣性格刚正,赴金华时借宿兰若寺。寺中荒草丛生,却有壮士燕赤霞借住南屋。宁采臣夜遇美貌少女聂小倩引诱,不为所动,还将其用来迷惑人的黄金扔出。后来,他得知小倩是被妖物胁迫的孤魂,用锥刺人脚心或金钱诱人,以助妖物害人。
次日,宁采臣发现兰溪书生父子暴毙,脚心有血洞,燕赤霞称是鬼魅作祟。为防不测,宁采臣与燕赤霞同宿,目睹燕赤霞的宝剑击退妖物。小倩告知宁采臣防范夜叉的方法,并恳请他将自己尸骨送回家乡安葬。宁采臣答应,挖出小倩尸骨后回乡。
回到家,小倩跟随宁采臣,起初宁母害怕,后因小倩勤劳孝顺,渐渐接纳。宁采臣妻子病故后,宁母想纳小倩为媳又有所顾虑。小倩表明只想依附宁采臣几年,博得封诰,宁母这才放心。
后来,小倩察觉金华的妖精可能寻来,让宁采臣取出燕赤霞所赠皮袋悬挂。最终,皮袋成功将前来复仇的夜叉吸入,化解危机。几年后,宁采臣考中进士,小倩生下儿子,妾室也生育,孩子们长大后都当了官,声名远扬 。