寧采臣是個文人雅士,生性爽直,因赴金華收租,旅舍給趕考的舉子住滿,無地投宿,店主說出北郊十里以外有座金華寺,但那裡鬧鬼,無人敢住,寧認為人心地正直,何必怕鬼,不理一切,立即趕車前往。
抵金華寺已是傍晚,那裡建築宏偉,殿塔巍峨,祗是古舊殘破,野草叢生,似是人煙絕跡之地。寧在大雄寶殿旁邊,見有客房,先至南舍,門鎖著,再到東舍,則門扉虛掩,推門入內,旁有樓梯,登樓,上有房間,竹榻桌椅俱全,寧大喜,即下樓取行李,見南舍門已開著,以為寺僧歸來,遂先拜訪,見一人,相貌奇特,滿臉鬚髯,寧道借住之意,那人卻說寺中無主人,可隨便居住,於是返東舍,略為打掃,將行李安頓下來。
寧再下樓,見那人在後院練劍,知是劍客之儔,大為傾佩,各展姓字之下,知他名燕赤霞,飄泊天涯,到處為家,傾談一會,即各自歸寢。
寧以地方陌生,輾轉無法入寐,忽聞琴聲,好奇地下樓看個究竟,但南舍燕生已熟睡,他便循琴聲搜索,過後院發現一個月洞門,推門探望,見樓面別有天地,在月色之下,這所在恍如仙境,奇花異草,陣陣出香,中有荷池,曲橋直通池心,上有亭台一座,窺見一個女人的背影,憑欄悵望著天空,唸著詞兒。唸畢又操琴,琴絃忽斷,她似忽發覺有人窺視,回頭探望,寧急閃身樹後,這時忽聞有人呼「小倩」,她即應聲抱琴而去。
寧好奇心動,再追上前,見廳上有燈光,從窗格向內窺視,廳內有數婦人在玩牌,其中一個最老的,小倩稱她做姥姥。他看了一會,返身欲走,經過迴廊,見一張素箋,從畫閣吹出,看看是一首詞,他便將它送回畫閣,裡面閌然無人,寧看詞發現字句不妥,一時技癢,執桌上毛筆改之,改了欣然自賞一番,正欲離去,小倩忽來,責其冒昧,寧忙謝罪,小倩忽見詞句改得很好,佩服不已,談得甚為投契,並拿了一張畫,請寧題詩,剛題得三句,忽然姥姥來,見寧,辱罵其夜入深閨,勾引良家婦女,寧有口難辯,悻悻而出,小倩則極為難過。
寧回房有屈難伸,滿懷悲憤,小倩忽來,表示歉意,說出姥姥是她的養母,脾氣極壞,寧氣稍平,小倩並請他將剛才未完之句題完,無意間兩手相接,恍如觸電,小倩竟投懷送抱,楚楚可人;寧不禁心旌動搖,神迷意亂,正在千鈞一髮之際,寧忽有所警悟,認為悖禮,小倩失望之極,淒然而去。
次日,寧往收租,直至黃昏,路上忽見一女子背影,很像小倩,並見她走入一裱畫店,他追入店內,卻不見人,而牆上卻掛著小倩的畫,並有自己所題的詩,大訝!查究之下,店主說出此畫在八、九年前,一縣官上任,路過該地,他的女兒突然死了,此畫乃她的遺作,後來那縣官到任後也死了,那畫便變成無主孤魂似的掛在那裡,寧欲將畫購去,店主婉拒,寧失望而歸。
寧返寺門,見燕赤霞與一士子聊天,其人名為蘭溪生,帶書僮過此投宿,居於西舍。寧略寒暄,即返己室,而小倩已先在,哭訴昨夜之事,已為姥姥所悉,攜包袱來,欲隨寧出奔,寧嚴拒之,小倩又取出金元寶一隻,聲稱作為題詩道謝,寧亦峻拒不受,小倩無奈,怏怏而去。
小倩行不久,忽聞西舍傳來異聲,先是男女嬉暱聲,繼聞先後兩聲慘叫,寧與燕同往西舍,見蘭溪生與書僮已死,腳心有孔,血流如注,不禁大驚!
寧知事有蹊蹺,翌日清晨,即往後院查察,惟推開月洞門,與前晚所見迥異,祗見那裡野草叢生,荒塚壘壘,心內便已完全明白。
是夜,小倩又來,寧斥之,小倩直認為鬼,但此來乃是救寧,因姥姥欲害他,今晚三更,即來取其性命。寧問何以相救,小倩說知他是個正人君子,不忍其橫死老妖之手,勸其下樓與燕同榻,其禍可免,因燕為劍客,老妖不敢侵犯。小倩並痛陳境遇,謂被老妖脅迫,誘人害命,供其吸血,並非自願,如獲同情,請寧將其屍骨運回故鄉,即可脫離苦境矣,寧卒諾之。
小倩行後,寧即下樓與燕同榻,半夜,老妖果來,危急間,燕枕下寶劍飛出,老妖始倉皇逃去。
翌日,寧果依小倩所說,僱伕役在後院外白楊樹下,將荒塚掘出,果然棺內有秀髮一縷,古琴一座,寧即將之收拾,然後與燕握別,離寺而去。
詎至中途,已屆黑夜,寧在驢車上,捧著秀髮古琴,閉目遐想,小倩果在身旁出現,謝寧解救之恩。突然狂風大作,驢不肯前,原來老妖已追至,欲索小倩,幸而燕赤霞亦趕至,與老妖展開劇戰,老妖魔道頗高,燕招架亦感吃力,數十回合之下,燕疲筋力竭,寶劍亦為老妖魔杖所擊離手,情勢危急之際,突聞雞鳴,老妖色變,收杖奔逃,燕即乘勢拾劍飛去,老妖應聲倒地,終於風化,留下一灘血!
寧與小倩上前向燕道謝,然後拜別,燕目送二人遠去,朝曦如錦,兩人影子漸漸在天邊遠處消失了。