明朝正德年間,河北廣平有個姓馮的書生,性格耿直豪爽,不拘小節,應了幾次試都沒考中,從此恨透科舉制度,再也無意功名。一天,馮生到朋友家中喝酒,途中遇見一個穿着紅衣裙的美貌姑娘,年約十七、八歲,後面跟着一個小丫鬟,輕輕地從他身旁走過。馮生一見,愛慕之情油然而生。黃昏後,馮生才騎着一頭小毛驢從朋友家裏回來,路過一個荒廢的寺院,見一女子從裏面出來。馮生仔細看時,正是一早遇見的那個姑娘。姑娘見到馮生,隨即含笑轉身回去。
馮生心裏一動,遂把毛驢拴在寺院門口,跟了進去。他見寺院裏長滿了野草,不像有人居住,心裏正在猜疑,忽然一個白髮蒼蒼的老翁從他身後走來。馮生忙上前與老翁見禮。老翁熱情地請馮生到後面喝茶。馮生便跟隨老翁轉過大殿,來到一處非常整潔的院落。馮生走進室內,見裏面用一個紗帷隔開,外間做為待客地方,雖然狹小,倒也雅緻。馮生坐下後,經過詢問,才知道老翁姓辛,在這裏暫住。這時,一位婢女出來獻茶。
馮生認得她就是跟隨姑娘的那個婢女,猜想老翁可能是姑娘的父親,便乘着酒興向老翁求親,不料卻被老翁婉言拒絕了。馮生心中正在煩悶,忽聞帷內有女子切切細語聲。馮生乘醉説:“婚配既然不能, 可以見上一面嗎?”隨手拉開紗帷,只見穿紅衣的姑娘和幾個女子驚慌失措,正準備逃避。老翁大怒,命人把馮生推了出去。馮生只覺得昏昏沉沉,倒在荒草叢中。剎那間,碎瓦亂石像雨點似的落了下來,馮生只嚇得魂飛魄散。
馮生驚魂稍定,爬起來,踉蹌着走出寺院,見小毛驢還在門旁啃草。他騎上毛驢走去,心裏仍然念念不忘那個穿紅衣的姑娘。馮生騎着小毛驢走了一會,由於夜色迷茫,也不知到了什麼地方。他正在左右為難,忽見遠處叢林裏燈火閃爍,想必是個村落,遂向火光奔去。走到近前,見叢林裏出現一座大院落,馮生忙跳下驢來,前去敲門。裏面有人問道:“誰在半夜裏敲門?”馮生告訴他夜裏失迷路途,想借宿一晚。
不大會功夫,一個僕人打開大門,把他讓到大廳。廳內燈火明亮,非常豪華,馮生正不知來到何處,這時,忽聽有人喊道:“老夫人到!”馮生抬頭看時,見幾個婢女攙扶着一個老太婆走了出來,忙向前施禮。老夫人問過馮生,高興地説:“喔!原來是外甥來了!”馮生有些不解,但又不敢多問。馮生正在納悶,老夫人命他坐下,問道“外甥為何半夜來到這裏?馮生把求親不成的情況説了一遍。老夫人笑道:“這是件好事,外甥不要顧慮,我為你辦理。”
説着,老夫人命辛家十四娘出來,馮生一見辛四娘就是那紅衣姑娘,心中大喜:十四娘見了馮生只羞得滿面通紅。老夫人對十四娘説:“我為你們做媒,結為夫妻,你可願意?”十四娘不好意思地笑了笑,老夫人非常高興,要立即讓他二人完婚。十四娘不願這樣草率,老夫人便在她頭上拔下一朵金花交給馮生,並確定吉日,讓馮生在家等待迎親。十四娘走後,雞啼三遍,天將黎明,老夫人命僕人牽驢送馮生回去。馮生剛走出大門不遠,回頭一看,那院落卻原來是個大墳墓,周圍松柏參天,陰森怕人,不禁大吃驚。
馮生定神細看,這裏卻是薛尚書的墳墓,薛尚書是馮生祖母的弟弟,所以那老太婆稱馮生為外甥。馮生知道剛才遇見的是鬼,但卻不知辛十四娘是什麼人?馮生回到家中,他怕和鬼訂的親事難以相信,再往寺院看時,卻是一片荒涼,他問過附近的人,都説寺院裏根本無人,卻常見狐狸出沒。馮生想:若能得到那美貌的姑娘為妻,就是狐仙又何妨?到了約定迎親的這天,馮生命僕人把院裏打掃乾淨,親自到大門外張望等待,可是從早晨等到晚上,仍然不見十四娘來到,馮生感到失望,心裏非常煩悶。
半夜時分,馮生剛要休息,忽聽門外人聲喧譁,他忙走出室外,見花轎已停在院中,一個婢女正扶着十四娘走出轎來。馮生喜出望外。剎那間,鼓樂喧天,鞭炮齊鳴,馮生和辛十四娘雙雙拜了天地,結成夫妻。婚後,十四娘勤儉持家,每天早起晚睡,織布紡線。二人相親相愛,形影不離,生活十分美滿。
馮生的同窗學友楚公子,是個官宦子弟,為人狡詐,好女色。他聽説馮生娶了個美貌的媳婦,邪念頓生。這天,他帶着禮物前來,沒想到十四娘閉門不見,心中十分掃興。隔了幾天,楚公子派人來請馮生去飲酒論文。十四娘勸丈夫説:“上次楚公子來,我暗地察看,他言語輕薄,面帶陰險,郎君不可與他交往。”馮生答應不去,但並沒在意。第二天,楚公子親自到馮生家來,笑着説:“近來我寫了幾篇文章,感到還不錯,想請你評論一下,你卻推故不去,難道真的被娘子的美貌給迷住了。説着便將帶來的文章交給馮生。
馮生接過文章看了一遍,便毫不客氣的指出文章的毛病,並開玩笑地把他嘲弄一番,楚公子滿臉羞慚,生氣地走了。馮生回到內室,把剛才的事情當作笑話説給妻子。十四娘聽了,很難過地説:“楚公子為人奸詐,不可惹他,你不聽我的勸告,將來難免遭受禍殃。不久,趕上提學試,試畢,楚公子名列第一,馮生位居第二。楚公子洋洋得意,遂派人去邀請馮生前來飲酒。
馮生想起十四孃的勸告,婉言謝絕了楚公子的宴請。後來,正逢楚公子的生日,因系同窗學友,馮生不好推辭,只好前去祝賀。到了楚家,只見筵席十分豐盛,室內坐滿了同窗學友。楚公子見馮生來到,忙向他熱情地打招呼,馮生入座後,與眾學友客氣了幾句,便暢飲了起來。楚公子有意藉此機會,在學友面前炫耀這次學試成績,以報復上次馮生對他的譏笑,便在飲酒中間,拿出試卷讓大家觀看。
眾學友知道楚公子並無文才,提學試上依仗權勢取得第一,但誰也不敢得罪他。因此,大家傳看試卷,個個讚不絕口,楚公子聽了,自然是十分得意。楚公子高傲地對馮生説:“小弟名次所以能在老兄以上,主要是文章開頭的幾句,略高老兄一籌罷了。”説罷,環視眾學友,大家隨聲附和,一齊點頭稱是。馮生聽了氣憤難平,忍不住哈哈大笑,説:“怎麼,老兄名列第一,還以為是試官看中了你的文章嗎?其實不然,試官看中的只不過是你家的權勢罷了。
馮生説罷,滿席客人都驚呆了。楚公子又羞愧又氣惱,袖子一甩揚長而去。眾學友也覺得沒趣,漸漸散去。馮生回到家裏,心裏非常後悔,便把在楚公子家的事情告訴給妻子。十四娘聽了很不高興地説:“你呀, 真是個不懂世故的書呆子。我多次勸你不聽,咱們還是分手吧?”説罷,就要離去。馮生忙上前攔住妻子,一面哭一面表示改過。十四娘嘆口氣,説:“果能如此, 我與你約定,從今後在家閉門讀書,不再交遊,不再飲酒。”馮生一一答應。
從此,馮生認真遵守妻子的勸告,整日在家作文吟詩,生活倒也安然自在。再説,楚公子屢次遭到馮生的譏笑嘲弄,早已懷恨在心,他經常派人暗地探聽馮生的動靜,伺機進行報復。一天, 楚公子正在書房悶坐,見一婢女前來送茶,一時淫慾上來,上前抓住婢女求歡。婢女極力掙扎,大罵楚公子是衣冠禽獸。
楚公子的老婆得知後,手持木棒,急忙趕來,硬説婢女勾引主人,一棒打在婢女頭上。那婢女被打得鮮血直流,當即死去。楚公子見婢女死了,心中沒了主意。忽然想起馮生對他的奚落,不覺計上心來,命人把婢女屍體移到另一房間放好,然後派僕人拿着請帖邀請馮生前來飲酒。十四娘接到請帖,知道楚公子又沒安好心,她沒有告訴馮生知道,當即把請帖燒掉。
第二天,楚公子聽説馮生到一個朋友家中去弔唁,便急忙趕去。楚公子見了馮生,滿臉堆笑,上前抓住馮牛的手,苦苦要求到他家中去飲酒閒談。馮生極力推辭,無奈楚公子甜言蜜語一定讓他前去,馮生推脱不掉,只好勉強答應。到了楚家,楚公子把馮生讓到客廳,立即吩咐僕人把豐盛的酒席擺上,馮生忙説:“我已戒酒多時,酒是不敢再飲了。説着,站起身來就要告辭回家。
楚公子哪裏肯依,親熱地拉馮生坐下,笑着説:“馮兄不要推辭,老朋友到一塊,哪裏有不飲酒的道理?”正説着,一羣花枝招展的歌女,懷抱樂器,輕盈地走了出來。剎那間,笙管齊鳴,歌女翩翩起舞。馮生一向困在家中,好久不曾碰到這種場面,忽然酒興頓發,妻子的勸告早已拋到九霄雲外,端起美酒,一連飲了幾杯。楚公子趁機又接連勸了幾杯,不大一會功夫,馮生已醉得像一灘泥,倒在席間。
楚公子見馮生醉得不醒人事,便趁機叫人把婢女屍首暗暗放在馮生身旁,閉門走了出去。馮生半夜醒過酒來,覺察到自己醉卧在楚公子客廳裏。他定了定神,想起昨晚飲酒的事,心裏非常後悔,站起身來,想找個牀鋪休息一下,天明好告辭回家。馮生在黑暗中摸索着走了兩步,腳下被什麼東西絆了一下。他用手一摸,一個人躺在地上。馮生以為是楚家的書童來陪伴他的,連喊了幾聲,卻不見答應。
他用腳踢了一下,仍然不動一動,接着聞到一股血腥氣味,他藉着月光看,原來是一具女屍!馮生大吃一驚,忙跑出客廳,大聲呼喊起來。楚家僕人聞聲趕來,點起火把,照見了女屍,立即把馮生揪住,扭送內宅,報告給主人。楚公子見了女屍故意大驚,大罵馮生不該逼姦殺害了他家婢女。遂喝令奴僕把馮生捆了,送府衙治罪。
廣平府尹是楚公子父親的門生。楚公子預先給府尹送了禮,拜託他把馮生判成死罪,府尹深知楚家有錢有勢不好得罪,也想借機巴結楚家,便一口答應下來。馮生被綁赴府衙大堂。他直言申辯,説楚公子仗勢欺人,陰謀陷害。可是,府尹根本不聽,硬逼着他承認逼奸不成,殺死人命。馮生氣極大罵府尹貪贓枉法。府尹大怒,當堂動刑,馮生被打得皮開肉綻,死去活來,下到監獄。
辛十四娘聽到公子下獄的消息後悲痛萬分,她哭訴着説:“公子不聽勸告,遭此陷害,實在冤枉!”她收住眼淚,忙打點銀錢,和僕人一塊到獄中去探望。馮生見了妻子,喉頭間如塞進一團棉花,一句話也説不出來。十四娘見丈夫被打得遍體鱗傷,奄奄一息,止住哭泣,勸道:“事已至此,為了免受酷刑,你只好暫時屈招,我回去想辦法營救你。”馮生只好點頭應允。
過了幾天,馮生按照十四孃的勸告招認逼姦殺人,官府將他判為絞刑,秋後處決。馮家老僕人聽到這一消息,急忙回家稟告辛十四娘。辛十四娘聽後,便把狐婢找來,細細商量了一下,最後商定由狐婢設法進京告御狀。狐婢稍作收拾,便匆匆起程。狐婢不分晝夜趕到京都,準備混進宮院,為馮生申冤。但由於皇宮戒備森嚴,耽擱了兩個多月,無法進去,狐婢非常着急。
狐婢害怕誤事,心想返回商議,忽然聽説皇帝將要到山西大同去巡視,便預先趕到大同,改扮成一個江湖妓女,進入一個有名的妓女院,等待時機為公子申冤。狐婢進入妓院不久,由於她姿容秀麗,能歌善舞,豔名很快譽滿大同。皇帝來到大同,便把她招來。狐婢見了皇帝媚態百生,頗受皇帝的歡心。趁皇帝高興的時候,狐婢卻故意落下淚來。皇帝感到奇怪,問有何冤屈?狐婢便假稱自己是馮生的女兒,馮生冤獄始末,向皇上稟告了一遍。
皇帝聽了,非常同情她家的不幸遭遇,便命太監記下地址姓名,答應為她父親馮生申冤。狐婢聞聽忙伏地叩頭謝恩。再説,馮生處決日期將到,十四娘正在狐婢把皇帝答應申冤的事向十四娘説了一遍,十四娘這才放下心來。十四娘又派老僕人到獄中探望馮生,馮生哭着説:“行刑的日期快到了,你回家去告訴娘子,叫她到獄中來一趟,從此決別了。”老僕人回到家裏,把馮生的話告訴了十四娘,十四娘不但不悲傷,反而對僕人説:“我看公子一案快到了水落石出的時候了!”老僕人聽了十分愕然。
原來,那皇帝聽了狐婢的話,已派平陰觀察前來廣平審理馮案。辛十四娘得知,忙讓老僕人到官府去探聽虛實。那平陰觀察瞭解了下情況,便將楚公子和府尹傳來問案,馮生當堂揭穿楚公子設計將自己灌醉,移屍栽贓,並勾結府尹加害自己。楚公子和府尹理屈詞窮無言以答。觀察當堂寫下判詞:楚公子逼姦殺人,陷害善良,立即逮捕,判為絞刑;府尹貪贓枉法,判削職為民;馮生立身清白蒙受冤屈,判無罪釋放。
馮生回到家裏見了十四娘,抱頭痛哭,説道:“ 在這種社會里,是非難分,皂白不明,沒有什麼公理可講。這次死裏逃生,使我明白了許多原來不明白的道理。”馮生從此總結了教訓,刻苦攻讀,杜絕交遊,滴酒不飲,與十四娘更加相親相愛了。