老太太說:「借宿倒也沒關係,只是沒有床鋪;如果不嫌委屈,就在地上鋪些草,將就著睡一夜吧。」說完,老太太轉身回屋,一會兒,她拿著蠟燭走出來,又把草鋪在地上,對客人十分慇勤。溫如春問她姓什麼,老太太回答說:「姓趙。」又問:「剛才那姑娘是誰?」老太太說:「她叫宦娘,是我的侄女。」溫如春說:「我不自量力,想攀附高門,結為姻親,怎麼樣?」老太太皺著眉頭,為難地說:「這件事我可不敢遵命。」問她是什麼緣故,老太太只是說不好回答。溫如春大失所望,但也只好作罷。老太太離開以後,溫如春看見鋪在地上的草又濕又爛,無法躺下歇息,於是端端正正地坐著彈琴,借此消磨這漫漫長夜。後來雨停了,溫如春就連夜回家去了。
溫如春的家鄉,有一個退隱家居的部郎官葛老先生,很喜歡和文人交往。一次,溫如春偶然前去拜訪,應葛老先生之邀彈琴。簾幕內隱隱約約好像有女眷在偷聽。忽然一陣風吹起了簾幕,現出一個十五六歲的少女,真是美麗極了。原來,葛老先生有個女兒,小名叫良工,很會填詞作賦,她的美麗更是聞名遐邇。溫如春不由得動了心,回家對母親說了,就托媒人去葛家提親。葛老先生因為溫家已經衰落,遲遲不肯答應。可是良工自從聽了溫如春彈琴之後,心裡暗暗傾慕,常常希望能再次聽到那優美的琴聲;而溫如春因為婚事不成,灰心喪氣,再也不登葛家的大門了。
一天,良工在花園裡拾到一張舊的詩箋,上面寫著一首《惜余春》詞:「因恨成癡,轉思作想,日日為情顛倒。海棠帶醉,楊柳傷春,同是一般懷抱。甚得新愁舊愁,剷盡還生,便如青草。自別離,只在奈何天裡,度將昏曉。今日個蹙損春山,望穿秋水,道棄已拚棄了!芳衾妒夢,玉漏驚魂,要睡何能睡好?漫說長宵似年,儂視一年,比更猶少;過三更已是三年,更有何人不老!」良工將它反覆吟誦了好幾遍,心裡很喜愛這首詞。她把這首詞帶回房間,拿出華美的信箋,端端正正地抄了一遍,然後放在桌子上。過了一會兒,要再拿來看時,卻已經不見了,心想大概是被風吹走了。恰好葛老先生從良工的房門口經過,拾到了這首詞,以為是良工作的,又反感這首詞的內容放蕩,就把它燒掉了,不過,他不忍心怪責女兒,只想快點把她嫁出去。
山東臨邑縣劉布政使的兒子正好托媒求婚,葛老先生心裡覺得可以,但還是想親自看看劉公子本人。劉公子穿著華麗的衣服來了,人長得眉清目秀。老先生非常高興,招待得十分熱情豐厚。劉公子告辭以後,他的座位下遺落了一隻女繡花鞋,葛老先生一見,心裡頓時十分厭惡劉公子的輕薄行為,於是把媒人叫來,告訴了這件事。劉公子極力為自己辯解,說鞋不是他遺落的;可是葛老先生根本不聽,到底拒絕了這門婚事。
在這之前,葛家有一種綠色的菊花,葛老先生從來捨不得把花種傳給別人,良工在自己房間裡種了幾盆。溫如春的院子裡也種有菊花,忽然有一兩株變成了綠菊,朋友們聽到了,都紛紛上門來觀賞;溫如春也十分珍愛它們。第二天清晨,溫如春跑到院子裡看綠菊,在菊花畦邊撿到一張信紙,上面寫著一首《惜余春》詞,他反覆念了幾遍,卻不知道它是從哪裡來的。又因為「春」字是自己的名字,心裡更加迷惑,就拿到書桌上,細加評點,評語中有不少輕薄的話。葛老先生聽說溫家的菊花變成綠色,感到很奇怪,就親自到溫家看個究竟,他來到書房,見桌子上有一首詞,就拿過來誦讀。溫如春因為上面的評語輕薄,連忙奪過來揉成一團。葛老先生只來得及讀了兩句,發覺就是自己在女兒房門口所拾到的那首詞,不禁十分疑惑,於是連溫如春的綠菊品種,也懷疑是良工贈送的。回家後他把這件事告訴了夫人,並叫夫人去逼問良工。良工平白無故受到冤屈,哭著要尋死;而這件事又沒有人親眼看見,無法取得實證。
夫人怕事情越弄越張揚出去,主張不如乾脆把女兒嫁給溫如春。葛老先生也同意了,就托人把這個意思告訴了溫如春。溫如春高興極了。當天就邀請客人來舉行綠菊宴,焚香彈琴,直鬧騰到深夜才散。溫如春睡下以後,書僮忽然聽見琴自動發出了響聲,開始還以為是別人的僕人在鬧著玩;後來去看一下,發現並沒有人,這才去告訴溫如春。溫如春親自去看,果然如此。聽那琴聲,音調生硬澀滯,好像在模仿自己而又沒有學好。他點亮燈火突然闖進去,卻什麼也沒看到。溫如春把琴拿走以後,整個晚上再也沒有動靜。他猜想一定是哪個願意拜自己為師的狐精在作怪,於是每天晚上都為它彈奏一曲,然後把琴擺在那裡讓它去彈,就像老師教學生似的,自己則每晚都躲在外面偷聽。這樣過了六七夜,那琴聲居然有曲有調的,很可以讓人欣賞下去了。
溫如春把良工迎娶過來以後,夫妻倆談起以前那首《惜余春》的詞,這才知道兩人得以結合的緣故,但始終不知道那首詞是從哪裡來的。良工聽到琴會自動彈奏的怪事,就親自去聽,回來後對丈夫說:「這不是狐精彈的,聽那音調淒慘憂愁,倒像是鬼彈出來的。」溫如春還不大相信。良工就說她家有一面古鏡,可以照見精靈鬼怪的原形。第二天,她派人去把古鏡取來,等到琴聲響起來的時候,拿著古鏡突然走進去;點燈一看,果然有個女子,驚慌失措地躲在牆角,再也不能隱身了。溫如春仔細一看,原來就是以前避雨時見到的趙家的宦娘。他非常驚訝,再三追問她。宦娘流著眼淚說:「我替你們做媒人,不能說沒有恩德吧,為什麼這樣苦苦相逼呢?」溫如春讓良工把古鏡拿開,同時要求宦娘不要躲避;宦娘答應了。
良工於是把古鏡用袋子裝好。宦娘遠遠地坐下,說:「我原來是太守的女兒,已經死了一百年了。從小就喜歡彈琴弄箏;箏技我已經比較通曉,只有琴技沒有得到名師的真傳,九泉之下仍然感到很遺憾。您那次光臨我家時,能夠聽到你美妙的琴聲,我對您實在是很仰慕;只恨自己已經成了鬼不能侍候您,所以暗中為您撮合這美好的婚姻,以此報答您對我的一片情意。劉公子座位下的女繡花鞋,以及那首俚俗的《惜余春》,都是我幹的。這樣報答老師不能說不盡力吧!」溫如春夫妻倆一齊向她表示感謝。宦娘說:「你的琴技,我大部分已能領悟;只是那些精妙之處我還沒有完全掌握。請你再給我彈一遍吧。」溫如春按她的要求彈了一遍,還詳細地給她講解彈奏的方法和技巧。宦娘非常高興地說:「我已經全部領會了。」於是站起來就要告辭。
良工本來就喜歡彈箏,聽宦娘說她擅長此道,表示希望聆聽一下她的演奏。宦娘也沒有推辭,便彈了一曲,聽那曲調和樂譜,果然並不是人間所能有的。良工打著拍子讚賞不止,然後倒過來請宦娘指教。宦娘提起筆來給良工寫了十八篇樂譜,又站起來告辭。溫如春夫妻倆苦苦挽留她。宦娘淒慘地說:「你們夫妻感情這麼好,自然是知音;我這個薄命人哪有這種福氣啊。如果真有緣分,下一輩子再相聚吧。」於是把一個卷軸交給溫如春,說:「這是我的小像。假如你還記得我這個媒人,就把它掛在臥室裡,高興的時候,燒上一炷香,對著它彈一支曲,那我就像親身領受一樣了。」說完,宦娘走出門去,就消失得無影無蹤了。