金大用是中州名门之后,他娶了尤太守的女儿为妻。尤太守的女儿叫做庚娘,美丽而贤慧,夫妻俩的感情十分深厚。
后来因为流窜的强盗在中州到处作乱,他们一家人都逃离了故乡,金大用携家带口地往南边逃走。在途中,他们遇到一位年轻人,也是和妻子一起逃亡,他自称是广陵的王十八,愿意为他们在前边带路。金大用非常高兴,二人总是走在一块,谈得十分投机。到了一条河流上,庚娘悄悄地告诉金大用:“别和那个年轻人乘同一条船,他总是盯着我看,两只眼睛贼溜溜的,脸色都变了,一定没安好心。”金大用答应了妻子。
王十八无比殷勤地寻找大船,还帮金大用搬运行李,十分周到,金大用也不忍心推辞,又觉得他还带着妻子同行,应该不会起淫邪的想法。王十八的媳妇也和庚娘住在一起,她的脾气很温柔可人。王十八一直坐在船头上与掌舵的人谈得很热乎,好像很熟悉的样子,关系也不错。没过多久太阳就落山了,水路遥远,茫茫一片,分不出东南西北。金大用环视四周,觉得此处环境偏僻隐蔽,便开始产生了怀疑。片刻之后,明月升起,放眼望去,只见周围都是芦苇。大船在一个地方停下来之后,王十八就请金大用父子出来在船板上远望散心,于是乘机把金大用挤到水里;金大用的老父亲在身边,看到之后就想喊,船夫就用船桨一捅,他也落水了;金大用母亲听到动静出来偷偷地看,被船夫发现了,船夫也把她捅到水里淹死了。这个时候王十八才假惺惺地大声喊“救人”。
其实金大用的母亲出来查看时,庚娘跟在她的后面,已经略微看到些情况。等到听说一家人都淹死了,她也不表现出很惊慌的样子,只是不停地哭着说:“公公婆婆都死了,那我一个人可要往哪里去啊!”王十八靠近来假意地劝说:“娘子别发愁,请跟我一起到金陵,我的家里要房有房,要地有地,肯定能养活你,保你衣食无忧。”庚娘不再哭泣,她假意说:“如果真是这样,我也就满足了。”王十八感到非常高兴,他把庚娘伺候得更殷勤了。天一黑,他就迫不及待地拉着庚娘,庚娘推说不方便,王十八这才到妻子那里去睡觉。一更天刚过,夫妇俩就大吵大闹地喧哗,也不知道是什么原因。只听到他的媳妇说:“你这样做,要遭雷劈的!”王十八就打媳妇。媳妇大声说:“我死了还干净!我真不愿意给杀人强盗当媳妇!”王十八一边生气地怒吼,一边揪着媳妇就往外走。只听咕咚一声,接着就听人们大声说媳妇淹死了。
从水路没走多久就到了南京,王十八把庚娘领回家,拜见老夫人。老夫人一看不是原来的媳妇,感到十分惊讶。王十八厚着脸皮说:“原来的媳妇落水死了,我就新娶了这个媳妇。”王十八回到房间后,又想冒犯庚娘。庚娘说:“三十多岁的男人了,怎么还不懂得夫妇之道呀?市井小民初次洞房也要喝上一杯薄酒啊,这点小事应当不难办到吧?不然的话,等一觉醒来二人相对,成何体统?”王十八非常高兴,便拿出酒来和庚娘对饮。庚娘端着酒杯,殷勤诚恳地劝酒。王十八渐渐地喝醉了,推辞说不再喝了。庚娘就拿起大碗,强颜欢笑地继续劝酒,王十八不忍心拒绝,又大口喝了起来。于是王十八喝得烂醉如泥,他脱光了衣服就催促庚娘就寝。庚娘撤掉酒具,吹灭蜡烛,假装说要小解,于是走进房间,拿着一把刀进来,她在黑暗中摸索到王十八的脖子。庚娘用力切他,他没有死,大喊大叫起来。庚娘又挥刀猛砍,他才死掉。老夫人在外面似乎听到动静,过来想问个究竟,庚娘在情急之下也把她杀了。
王十八的弟弟王十九感觉到发生了什么事,于是也带领家人赶过来。这时,庚娘知道自己免不了一死,急忙自杀,可是刀子太钝,刺不进自己的皮肉,她打开门就逃跑,王十九紧追不舍,可是庚娘已经跳进了池塘。王十九大呼小叫地告诉邻居,等到庚娘被救上来时已经死了,只见她面色红润,还像活人一样。这时,大家见到窗子边上有一封信,打开一看,才发现那是庚娘在详细地述说自己的冤屈。众人都把庚娘当作贞烈的女子看待,纷纷为她筹集资金出殡。等到天亮的时候,围观者已经聚集了数千人,大家见到她的面容,都觉得这是世间少有的奇女子,于是争相朝拜。一天下来,就筹集到了一百两黄金,大家就把她埋葬在南郊。好事的人还为她置备了带珍珠的帽子和华贵的寿袍。陪葬物品十分丰富。
再回到当初,金大用落水之后,趴在一块漂浮的木板上,才没有死。快天亮的时候漂到了淮河上,被小船救起。那个小船大概是当地姓尹的富翁专门为救落水者准备的。金大用苏醒后,就到老翁处表示拜谢。老翁热情款待他,知道他有学问,就留他教儿子读书。金大用因为不知道亲人消息,准备四处探访而犹豫不决。不久有人说:“捞上一对死了的老夫妻。”金大用怀疑是自己的父母,就跑去看,果然不错。老翁代他置办棺木。金生极其哀痛,这时又有人说:“救上来一名落水的妇人,自称金生是她的丈夫。”金大用涕泪横流,吃惊地往外跑,那女子已经到了,可并不是庚娘,而是王十八的媳妇。她向金大用大声地哭泣,请求他帮助。金大用说:“我的心绪早已大乱,哪里有闲功夫帮助别人?”妇人越发悲伤。姓尹的老翁问清楚来龙去脉,高兴地认为这是老天的报应,劝金生收留妇人。金大用以居丧为借口,况且还将报仇,恐怕被家小拖住后腿。妇人说:“如果像你所说的那样,假如庚娘还在,那你就以报仇居丧为由把她赶走吗?”老翁认为她言之有理,就请求金大用暂时代他收养,金大用这才答应。
选好了一个日子埋葬父母时,妇人披麻戴孝,哭得十分伤心,如同是死了自己的公婆一样。丧事结束,金生怀揣刀手托钵,要到扬州去,妇人连忙制止他说:“我姓唐,祖居南京,和那个狼心狗肺的家伙是同乡,从前说扬州是骗你呢。况且江湖水上的贼寇,一半是他的同党,不仅你的仇不能报,恐怕只会招致祸端啊。”金大用不知如何是好。这时又传说女子杀人复仇的事,早已经从当地传到了此地,姓甚名谁也很详细。金大用听了感到十分痛快,可也越发悲伤起来,于是辞别妇人说:“庆幸我的妻子没有遭到玷污。我家能有这样的贞烈媳妇,怎么能忍心辜负她再娶呢?”妇人认为金大用与亡妻的夫妻名分早已铁定,还是不肯半途离开,甘愿给金大用做小妾。
当时正好有一位姓袁的副将军,和姓尹的老翁有旧交情,正好要向西部发兵,路过尹家,见到了金大用,非常喜欢他,就请他当了军中记载。没过多久,流寇叛乱,袁副将军立下大功,金生也因为参与军机而立功,被授予官职回乡探亲。夫妇这才正式举行成婚大礼。
过了几天,金大用携带着新媳妇前往南京,去给庚娘扫墓。过了镇江,想登金山。乘船过江的时候,突然从身边划过一条船,船里有一位老太太和一位少妇,他觉得很奇怪,少妇非常像庚娘。船很快地划过去了,少妇从窗中偷偷地看金大用,神情样貌也很像庚娘。金生又吃惊又怀疑,也不敢追问,灵机一动就急忙大声喊道:“看一群鸭儿飞上天啦!”少妇听到后,也大声喊道:“馋狗想吃猫剩下的荤腥啦!”这都是当年闺中开玩笑的隐语。金生大吃一惊,叫船夫划近那条船,上船仔细一看,那个少妇果真是庚娘。庚娘被侍女搀扶到金生的船上,两人激动地抱头痛哭,令过往看到的行人也忍不住悲伤。唐氏就以拜见正室之礼拜见庚娘,庚娘吃惊地问这是怎么回事,金生就把来龙去脉细说一遍。庚娘拉着唐氏的手说:“当初我们同在一条船上,真没想到原来的仇敌现在居然成了一家。承蒙你代我埋葬了公婆,我应该首先感谢你。”唐氏很不好意思,她原来还担心,但是庚娘对她十分客气,两人就按照年龄大小以姐妹相称。
后来金大用问庚娘的经历,原来庚娘被埋葬之后,自己也不知过了几年。有一天,忽然有一个人招呼她:“庚娘,你的丈夫没死,还应该重新团圆。”于是她就像从梦里醒过来一样。她往四周摸一摸,感觉到四面都是墙壁,这才知道自己已经死了被埋葬在这里,她只觉得很憋闷,倒也不觉得很痛苦。这时有两个年轻的歹徒看到当地人为庚娘准备的殉葬品又多又珍贵,就掘了庚娘的坟,破棺而入,刚想要捡拾殉葬品,突然发现庚娘还活着,他们双方对视都很害怕。庚娘怕他们会伤害到自己,就哀求说:“幸亏你们前来,才使我重见天日。我头上的发簪耳环,你们都拿去吧,我愿意让你们把我当尼姑卖掉,还可以再得一点钱。我也不向外泄露这件事。”其中一个盗墓贼连忙磕头说:“娘子的贞烈,神仙都钦佩。我们不过是因为太穷,实在没有办法,才会做这种不仁不义的事。只要这件事不往外泄露就已经万幸了,哪里还敢把你当尼姑卖掉呢!”庚娘说:“这是我自愿的。”另一名盗墓贼说:“我听说镇江有个耿夫人孤身一人,无儿无女,如果见到娘子必然非常高兴。”庚娘谢过他们。自己拔下珠宝饰品全都交给盗墓贼,他们不敢收,庚娘坚持要给,两个盗墓贼才一起拜过接受。他们把庚娘用船送到耿夫人家,借口船遇到大风迷失了方向。耿夫人独身一人度日,她见到庚娘非常高兴,把她视为自己所生。刚才母女二人离开金山回家,庚娘把事情的前因后果详细追述一遍。金生连忙登上对方的船,以岳母相拜,老太太也把金生当作女婿款待。邀请他到家里,留下住上几天才回家。此后往来不断。