浙江人宁采臣,性格慷慨豪爽,品行端正,总说自己绝不纳妾。
一次路过一个山中庙宇,发现景色很美,想要留下在这里读书。但四下没有人,于是就一边散步一边等着僧人回来。直到傍晚,才有人来。原来来的这个人也不是寺院的主人,也是借宿的。互问姓名之后,宁采臣得知对方叫燕赤霞。两人一直聊到深夜才各自回去睡觉。宁采臣因为是新换了住地,有些不习惯,很久都没睡着。他听到北面有动静,起来偷偷张望,看到矮墙外有个人家,一个四十多岁的妇人和一个老太太在说话。妇人说:“小倩怎么很久都没来了?”老太太说:“可能是她喜欢的人来了吧。”“她没有抱怨吗?”“没有,但我也看得出来她不乐意。”妇人说:“那孩子懂什么!”话刚说完,就有个十七八岁的漂亮女孩来了。老太太笑着说:“背地里不能说人坏话,我们正谈到你,你就悄悄地过来了,幸亏没说你坏话。你就像画里的人一样漂亮,我要是个男的也会被你迷住的。”女孩说:“姥姥不要乱说,有谁说我漂亮了吗?”三人说起话来,宁采臣就去睡觉了没有再往下听。过了会儿,都安静下来了,宁采臣刚要睡着,觉得屋里好像来人了,急忙起来发现是刚才的那个女孩,吓得忙问是怎么回事。女孩笑着说要和宁采臣同床共枕。宁采臣一脸正气地说:“你不要瞎说,人言可畏,不能一时疏忽,就丢掉了礼义廉耻啊。”女孩说这么晚不会有人知道。宁采臣还是不同意。女孩就反复地劝说他。宁采臣终于生气了说:“你赶紧离开,要不然我就要喊人了。”女孩害怕了,退出去了。但不一会儿她又回来了,放了一块黄金在床上。宁采臣把金子扔到一边说:“不义之财,不要侮辱我了。”女孩捡起金子惭愧地离开了,心想:“这才是真正的男子汉啊。”
后来,有个公子带着仆人借宿在庙里的东厢房,准备考试。没想到过了一夜那个公子就死了。检查之后,人们发现他脚心有个像被锥子扎了的小孔,还有点点血迹。又过了一夜,那个仆人也死了,也只是脚心有个小孔,不知道因为什么而死。等到傍晚,燕赤霞回来了,宁采臣问他对这事怎么看,他认为是有妖精。宁采臣一向不信这些,所以一点也不在意。凌晨时分,那个女孩又来了,说:“我见过许多人,但都没有像您这样能不受迷惑的。您真是正人君子啊,我不敢欺辱了。我叫聂小倩,18岁就死了,被埋在寺院旁边,被妖精威胁来杀人,并非是我自愿啊。今天没有可杀的人了,恐怕那妖精要亲自来杀你了。”宁采臣这才害怕起来,求小倩给想个办法。小倩说:“只有你和我在一个房间里才能躲过妖精。”宁采臣问为什么不去诱惑燕赤霞,小倩说:“那是高人,我不敢靠近的。”宁采臣又问:“你是如何迷惑人的呢?”“那些想和我亲近的人,我就悄悄用锥子扎他们的脚,他们就会昏过去,我再抽取血液给妖精吃;或者给他们金子,其实不是金子而是恶魔的骨头,他们要是留下了,就会被挖出心肝。用财色两种办法,总能投其所好的。”宁采臣很感谢小倩对自己讲了实情,又问了问妖精什么时候会来。小倩回答说:“明晚就会来。”走的时候,小倩哭着说:“我在苦海之中,不能脱身,您是侠义的人一定会救我的。如果可以把我的尸骨移到别处安葬,就是对我有再造的恩情啊。”宁采臣答应了并问她葬在哪里。小倩说:“只要记住白杨树上有鸟巢的,就是我的墓穴了。”说完就离开了。
第二天,宁采臣怕燕赤霞会出去,早早就把他叫到自己屋里,一起喝酒吃饭,乘机也仔细观察他有什么特别的地方没有。宁采臣不想让他再回去睡觉,但燕赤霞却推脱说喜欢安静。宁采臣不答应,直接去把他的被子拿来了。不得已,燕赤霞只好留下了,但却嘱咐说:“我有些事情现在不便告诉你,你千万不要偷看我的箱子,否则对你我都不好。”入睡时,燕赤霞把箱子放在窗户旁边。不一会儿,燕赤霞睡熟了,呼噜声很大,宁采臣却一直睡不着。等到夜深了,窗外有人影闪动,还往屋里面看。宁采臣吓得正要喊燕赤霞。忽然间那个箱子裂开了,一道白光闪出,把窗户的外框都劈断了,忽然一下子又收回了箱子里。这时燕赤霞觉察到了动静,翻身起来,宁采臣假装睡着了,观察着燕赤霞的举动。只见他从箱子里取出一个东西,对着月光又是闻又是看,是一个长二尺,韭菜叶宽的亮晶晶的东西。他包了好几层布又放回了箱子里,自言自语道:“你这个妖精胆子太大了,竟然弄坏我的箱子。”说完就又躺下睡觉去了。宁采臣实在是太好奇了,就从床上爬起来了,把自己知道的都告诉燕赤霞了。燕赤霞说:“既然我们已经是知己了,我就不隐瞒了。我是一个剑客,如果刚才不是窗框挡了一下,那个妖精一定立刻死了,现在只是受伤了而已。”宁采臣又问箱子里装的是什么。“是我的剑,闻了闻有妖气。”宁采臣想要看看那柄剑,燕赤霞很爽快地答应了。果然是闪闪发亮的一柄小剑。第二天,宁采臣果然发现窗外有血迹,然后他又去了寺庙的北边,找到了小倩的墓穴。后来宁采臣要离开寺院时,燕赤霞为他饯行,还送给他一个破剑袋说可以保护他不受妖精侵害。宁采臣想要学习法术,燕赤霞说:“你是个正直的人,本来是可以学这个的。但你已经是富贵的人了,就没有必要学这个了。”宁采臣撒谎说有个妹妹原来葬在寺院边上,现在他要把遗骨带回老家安葬,于是把小倩的遗骨带上,就坐船回家了。
回到家后,宁采臣把小倩重新安葬了,还在坟前和她说:“可怜你,把你带回来了,现在你不用受到别的妖精的迫害了,敬你一杯水酒,希望你不要嫌弃。”安葬完小倩回家的路上,宁采臣忽然听到有人喊:“等等我。”一看竟是小倩,她说:“您是有信用的人,我会牢记您的恩情的。请带我回家吧,我愿意当您的小妾。”宁采臣也被她的美丽所吸引,只好把她带回自己家。到家后,宁采臣把小倩留在一旁,先去和母亲说明事情的经过。母亲听后很是惊讶。那时宁采臣的妻子已经生病在家很久了,母亲害怕这样会吓到儿媳。话还没说完,小倩就进屋请安来了。小倩说:“我孤身一人,受到公子的恩惠,愿意为妾来报答他的恩情。”母亲看到小倩着实可爱,才敢和她说话。“你要是真的和我儿子在一起,我当然很高兴。但我只有这一个儿子来传承香火,不敢让他有个是鬼的妻子啊。”小倩说:“我没有坏心眼,您要是不相信我,那我就做恩公的妹妹吧,留在您身边侍奉您就行。”母亲被她的诚意打动,就同意了。小倩想要去拜见嫂子,母亲说她病着不便打扰。小倩就去操持家务了,把一切都打理得井井有条。傍晚,母亲有些害怕,不想让小倩留下过夜,就故意没给她安排住处。小倩明白了母亲的担忧,就离去了。小倩路过宁采臣的房间时,只是在门口徘徊,不敢进去。宁采臣在屋里喊她进来。她说:“屋里有剑气,我不敢进去啊。”宁采臣这才想到燕赤霞赠的剑袋,赶紧把它放到别的屋里去了。小倩进屋来,半天不说一句话,后来找宁采臣要了本佛经来读。夜深了,宁采臣要休息了,催促小倩离开。小倩不愿意走,最后实在没办法,就难过地离开了。从此以后,每天小倩白天侍奉母亲,晚上陪宁采臣读书,等到他要休息才黯然离开。
宁采臣的妻子生病后家里都是母亲一人操持,十分力不从心。自从小倩来了,母亲也从家事中解脱出来,渐渐地越来越喜欢小倩了,最后竟然可以忽视她是鬼的事实,看到天晚了就不忍让她离去,让她和自己一起睡。小倩刚来的时候一点东西都不吃,半年过去了,也逐渐吃些了。宁采臣和他母亲越来越喜欢小倩,从来不提她是鬼的事,外人谁也看不出来她是鬼。后来,宁采臣的妻子死了,母亲悄悄想过让小倩做儿媳,又害怕会对儿子有什么不好,一直犹豫。小倩知道了这层意思,告诉母亲说:“我和您住在一起那么久了,您知道我不会害人,我跟着公子是因为他的品行高尚,他将来一定会得中进士的。”母亲又害怕没有子嗣,小倩又说:“子女是上天注定的,公子是有福的人,会有三个孩子的,不会因为我是个鬼而没有的。”母亲就相信了,宁采臣很高兴,很快就操办起了婚礼。亲友们看到小倩都不知道她是鬼,反而是因为她太漂亮了,以为是仙女呢。大家都纷纷祝贺宁家,小倩善于画兰花梅花,就用这些画来送给客人,大家都很珍惜地收藏起来。
有天小倩突然问起那个剑袋,宁采臣说放在别的地方了。小倩说:“我现在不怕那个了,你可以拿回来了。”宁采臣不明白她为什么这样说。小倩说:“我这几天一直有种感觉,那个曾经胁迫过我的妖精,可能会再次找来。”宁采臣于是把剑袋取了回来,小倩仔细看了看剑袋说:“这是用来放人头的袋子,现在已经破损成这样,应该已经盛过不少人头了。我现在看着,还胆战心惊呢。”然后就把剑袋挂在屋里了。第二天,小倩又把剑袋挂到了门上,晚上让宁采臣和自己一起点着蜡烛坐着等。忽然有个像鸟一样的东西落下,小倩吓得藏起来了,宁采臣看见一个夜叉样的怪物,走到门口,却没有进来。它用爪子抓剑袋,好像要抓裂了,忽然袋子发出响声,膨胀到有两个竹筐那么大,袋子里面好像有个东西把夜叉揪了进去,一下子又什么声音都没有了,剑袋也恢复原来的样子了。宁采臣十分惊奇,小倩也出来了,高兴地说:“没事了。”两人一起察看袋子,发现里面只有一些清水。
几年后,宁采臣果然得中进士,小倩也生了个男孩。宁采臣纳妾后,又生了两个儿子,都很有出息。