故事發生在宋朝年間,淮田縣有一個名叫陳善舟的書生,家境十分貧寒,但是為人正直上進,深受附近鄉鄰喜愛。鄰鎮有一曹員外的女兒,名叫曹三娘,在一次上元佳節和陳善舟相遇,兩個青年男女四目相對,一見鍾情。
後來,陳善舟託媒人到曹三孃家提親,曹員外自然不允,但是耐不住女兒的苦苦相逼,最後只好答應這門婚事,為了防止女兒受委屈,還陪嫁了不少財物。曹三娘嫁進門來十分賢惠,洗衣做飯料理家務,無一不勤。曹三孃的婆婆孫氏逢人便誇,說老陳家祖上積德,讓兒子娶到了這麼好的一個媳婦。
十冬臘月,一天曹三娘到鎮上趕集,看見幾個孩子在村裡池塘冰面上玩耍,突然之間只聽見冰面裂開,一個男孩墜入塘中,曹三娘來不及多想,衝進池塘去救那孩童。誰知冰面根本承受不了大人的重量,曹三娘亦落入冰冷的水中。好在池塘水不深,曹三娘摸到那孩童,將她託舉起來,艱難地朝岸上走去。
此時,其他趕集路過的人見狀急忙上來施救,將曹三娘和那孩童救上岸來,此時曹三娘已經凍得渾身發紫,好心人給她披了件大衣,將她送到家中。曹三娘本就體弱,加上那冷水一激,回到家後就病倒了。一連數日曹三娘發燒說胡話,後來陳善舟從外地請來有名的郎中,算是曹三娘好了些。
當時正值大比之年,淮田縣距離開封一千二百多里,其他舉子已經動身去趕考,陳善舟擔心妻子,故而遲遲沒有出發。一日,曹三娘身體輕便了許多,又多吃了幾晚米飯,勸慰陳善舟說道:“我現在身體好了一些,你還是以事業為重,將來考取一個好功名,也證明我眼光不差。”陳善舟見妻子已無大礙,就和妻子、母親依依惜別,踏上趕考的行程。
車馬走了一天,陳善舟在一家客棧借宿休息,剛準備休息時,聽見掌櫃對小二說:“你去客房打聽打聽,咱們這有沒有住著一個陳善舟的人?”陳善舟一聽是自己的名字,當時起身走出門外檢視究竟,出門一看竟是妻子站在門口和掌櫃交談,陳善舟幾步走到妻子面前說道:“娘子,你大病初癒,怎麼又出來了?”
曹三娘說道:“你一人走後,我總不放心,心想我既然已經痊癒,不如陪你進京趕考,也能照顧你的起居,讓你省些心,故而急忙僱了車馬跟了過來,剛才向掌櫃打聽,這才找到你。”陳善舟將妻子帶進屋內,說道:“也好,有你在身邊,我朝夕相守,心裡也踏實些。一路趕來,你定是舟車勞頓,趕快休息吧。”
次日,陳善舟僱了一輛寬敞些的馬車,和妻子繼續趕路,兩人掀開轎簾欣賞沿途風景,實在無聊就吟詩作對,每到一處城市還會去品嚐當地美食,曹三娘也不忘督促陳善舟溫習功課,到了客棧之後,曹三娘都是陪著陳善舟夜讀到二更時分方才休息。有了妻子的陪伴,陳善舟的趕考之路充實平和而又快樂難忘。
當年的考題正是陳善舟和妻子在路上曾經探討過的一個選題,陳善舟下筆如有神,引經據典洋洋灑灑寫了一篇好文。當時的主考官十分欣賞陳善舟的文采,將他點為頭名的狀元。金鑾殿上公主在屏風後觀瞧,見陳善舟儀表堂堂而且溫文爾雅,十分喜愛,有意將他召為駙馬。陳善舟得知之後正色說道:“小生家中已有糟糠之妻,公主美意實難受用,還望見諒。”公主自然十分生氣,但是皇上卻十分喜愛,如此重情重義,不貪圖權勢富貴之人,將來必是國家的棟樑之材。
陳善舟帶著妻子在京城誇官三日,然後在兵丁的護衛下鳴鑼開道,錦衣還鄉。當轎子停到陳家門口的時候,陳善舟先行下轎,然後攙扶妻子曹三娘下轎。等曹三娘下轎的一瞬間,正在門口等候的陳善舟母親孫氏當時嚇傻,嘴裡喊了一聲“有鬼!”然後昏了過去,此時圍觀的鄉鄰也都嚇得四散而逃,陳善舟不知發生了何事。