金大用是中州舊官宦人家的子弟,娶的是尤太守的女兒,名叫庚娘,長得既美麗又賢惠,夫妻倆感情很深。那時正是兵荒馬亂的年頭,金大用一家遠離故鄉,到南方逃難。路上遇到一位少年也帶著妻子逃難,自稱是揚州人,名叫王十八,願意在前面引路。金大用很高興,兩家人便同行同住。
這天,到了一條河邊,庚娘偷偷告訴金大用說:「不要和那少年同乘一條船。他總是盯著我看,眼珠亂轉,神色不正常,好像心術不正!」金大用答應了。王十八慇勤地雇了條大船,幫著金家搬運行李,忙忙碌碌,非常周到。金大用不忍拒絕他的好意,又想到他還帶著少婦,不該有什麼問題。少婦與庚娘住在一起,看上去也很溫順和氣。王十八坐在船頭上,同船家親近地說著話,好像是早就認識的親朋好友。不多時,太陽落山了,遼闊的水面一望無際,分不清東西南北。金大用看到四周荒涼險惡,心中很是疑惑奇怪。船行了一會兒,月亮升起來了,只見到處是蘆葦。船停下後,王十八邀金大用父子到船頭望望風景,乘機將金大用擠下水去。金大用的父親看見剛要呼喊,船家用篙一下把他打落水中。金母聽到聲音出來察看,又被打下船去,王十八這才喊救人。剛才金母出來時,庚娘在後邊,已察覺剛才發生的事。聽到一家人都掉進河裡,也不驚慌,只是哭著說:「公婆都淹死了,我到哪裡去呢!」王十八進來勸她:「娘子不要憂慮,請跟我到南京去吧。我家有房子有地,很富裕,保你吃穿不愁。」庚娘止住淚說:「要能這樣我就滿足了。」王十八非常喜歡,一路慇勤地伺候庚娘。到了晚上,王十八拉住庚娘求歡,庚娘假托來了月經,王十八就到少婦那裡睡了。天將初更,只聽王十八夫婦吵了起來,也不知什麼原因,只聽到女的說:「你辦這種事,怕雷霆會劈碎你的頭!」王十八就打那女人,女的喊起來:「死了算了!實在不願給殺人賊當老婆!」王十八吼叫著把女人拖出船艙,只聽到咕咚一聲,接著就聽到喊婦人落水了。
過了幾天,到了南京,王十八領庚娘回到家,上堂拜見母親。王母驚訝不是原來的媳婦了。王十八說:「原先的媳婦掉到水裡淹死了,這個是新娶的。」回到房裡,又要親近庚娘,庚娘笑著說:「三十多歲的男人了,還不懂這人情世事嗎?普通人家成親,還得喝一杯薄酒呢;你家中這麼富裕,當然不難辦到。如沒有幾分酒意,草率行事,成什麼樣子?」王十八很高興,置辦了酒席,兩人對坐飲酒。庚娘拿著酒壺慇勤地勸酒,王十八慢慢有些醉了,推辭不喝了。庚娘換了大碗,媚笑著強要他喝,王十八不忍拒絕,又喝了下去,不禁酣然大醉,脫了衣服睡到床上,催促庚娘快睡。庚娘撤了燈燭,借口小解,走出房門,拿了把刀進來;摸黑來到床前,伸手摸王十八的脖子,王十八還抓著庚娘的胳膊,說著親熱的話。庚娘用力一刀砍下去,沒把他砍死,王十八叫著要爬起來;庚娘又砍了一刀,王十八這才死了。王母好像聽到響聲,過來問出了什麼事,庚娘也把她殺死了。王十八的弟弟王十九發覺了,庚娘知道不免一死,立即揮刀自殺。可刀刃捲了,砍不進去,她便打開門跑了出去。等王十九追出來,她已跳進池塘裡了。十九急忙呼告鄰居,把庚娘撈上來,見已經死了,但面色端莊艷麗,依然同活著一樣。大夥一同檢驗了王十八的屍首,看見窗上有一封信,打開一看,原來是庚娘寫的,信裡詳細講述了她全家的冤情。眾人都認為庚娘是個烈女子,商量好斂錢給她出殯。天亮後,來看的人有好幾千,見了庚娘,個個敬佩,人人朝拜。一天的時間,就斂得了上百兩銀子。好心的人們為她買了珠冠袍服、金銀首飾,上等管材和很多隨葬東西,把她葬在了南郊墓地。
當初,金生被擠入水中後,幸虧浮在一片木板上,才大難沒死。天亮時,漂到淮河上,被一條小船救上來。這條小船是富戶尹老漢專門為搭救落水遇難人設置的。金大用清醒後,去登門拜謝,尹老漢優厚地待承他,要留下他教自己的兒子讀書。金大用因為不知道親人的消息,想前往探訪,所以拿不定主意是走是留。這時聽說:「撈上來了淹死的老頭和老媽媽。」金大用疑心是自己的父母,急忙跑去看,果然不錯。尹老漢代他買了棺木,金大用正在哀傷痛哭,又聽說:「救了一個落水的女人,自稱金大用是她丈夫。」金大用擦乾淚驚疑地跑出去,那女子已經來了。並不是庚娘,而是王十八的妻子,向著金大用大哭起來,請求收留她。金大用說:「我心緒已亂,哪有心思替你打算!」女子哭得更厲害了。尹老漢問明緣故,說這是老天的報應,勸金大用收留這女子為妻。金大用借口服喪,況且還打算報仇雪恨,怕有家是累贅。那女人說:「如果像你說的,要是庚娘還活著,你也會為了報仇而拋棄她嗎?」尹老漢覺得這女子說話在理,就提出暫時代金大用收留這女人,他勉強應允了。大用埋葬父母時,那女人披麻戴孝,哭得非常悲痛,如同死的是自己的公婆。辦完葬事,金大用懷揣利刃手托飯缽,要去揚州報仇。女人勸他說:「我姓唐,祖籍是南京,和那個豺子是同鄉。以前他說是揚州人,都是騙人的;況且江湖上的水寇多半是他的同黨,你這樣去怕是報不了仇,還會惹禍。」金大用聽她一說,猶豫不定。這時忽然傳來烈女子殺人報仇的事,這事在沿河一帶流傳很廣,姓甚名誰非常詳細。金大用聽了很痛快,但知道庚娘死了也更加悲痛。就辭謝唐氏說:「幸虧我沒做有辱你的事。我家有這樣的烈女子,怎能忍心負她另娶呢?」唐氏以他們先前已有夫妻之約,不肯中途離開,願意做妾。
正巧有個姓袁的副將軍,同尹老漢交情很深,路過這裡西去,前來看望尹老漢,見到金大用,非常喜愛,請他當了軍中的書記官。過了一陣子,流寇造反,袁將軍立了大功。金大用因為參贊軍務有功,被授游擊官職回來,這時他才和唐氏成了親。過了幾天,金大用帶上唐氏去南京,準備去給庚娘掃墓。剛過鎮江,要登金山。船到江心,忽然有一條小船過來。船中有一老媽媽和一個少婦,金大用驚疑那少婦很像庚娘。小船疾駛而過時,那少婦從窗中窺看金大用,神情更像庚娘。金大用驚疑又不敢追問,急忙呼叫說:「看那鴨子飛上天去了!」少婦聽了也呼喊說:「饞狗想吃貓腥嗎!」這是當年閨房內夫妻倆開玩笑的話。金大用大驚,回船追近仔細一看,真是庚娘。丫頭扶庚娘到這邊船上,兩人相抱大哭,同船的人也跟著傷感不已。唐氏以嫡妻禮拜見庚娘,庚娘驚奇地詢問,金大用才仔細地述說了緣由。庚娘拉著唐氏的手說:「同船時一席話,心中常常忘不了,想不到成了一家人。多虧你代我葬了公婆,我應當首先謝你,哪能以這種禮節相見呢?」於是以年齡論,唐氏小庚娘一歲,二人便以姐妹相稱。
原來,庚娘被埋葬以後,自己不知道過了多長時間,忽然聽見一人喊她說:「庚娘,你丈夫沒死,還應當重新團圓。」接著就如同從夢中醒來,用手摸摸四面全是牆壁,這才醒悟自己是被埋葬了。只覺得悶得慌,也沒有什麼痛苦。有幾個惡少發現庚娘的陪葬物豐富,便挖墳破棺,正要搜括,見庚娘仍然活著,雙方都既驚又怕。庚娘害怕他們害自己,哀求說:「幸虧你們來,才使我又見天日。頭上的首飾,你們全都拿去,請你們把我賣到庵裡當尼姑,也可以得幾個錢,我不會把這事告訴別人。」盜墓的磕頭說:「娘子是貞烈女子,神人都敬佩。小人們不過是貧困沒有辦法,才幹這見不得人的事。只要你不說,我們便感恩了,怎麼敢賣你為尼呢?」庚娘說:「這是我自己願意的事。」另一盜墓的說:「鎮江有個耿夫人,一人守寡沒有子女,如果見到娘子一定會很高興。」庚娘謝過他們,自己摘下珠寶首飾,全都給了他們。盜墓人不敢收,庚娘再三給他們,才拜謝收下來。接著雇了車船,把庚娘送到了耿夫人家,假說是乘船遇風迷路。耿夫人是個大戶,守寡一人過日子,見了庚娘非常喜歡,把庚娘當作親生女兒。剛才是母子二人從金山回來。庚娘把自己的經歷講述了一遍,金大用就過船去拜見耿夫人。耿夫人像對親女婿一樣款待他,邀金大用到家中,留住了好幾天才走。從此兩家來往不斷。