一日,船行到鄱陽湖口,突然遇到幾艘江洋大盜的船,各執器械,團團圍住。為頭的兩名匪首,當先跳上船來,先把謝翁與段巨貞一刀一個殺死。之後群盜紛紛跳上船來,把船上之人挨排殺死。小娥急中生智,迅速爬上桅杆跳進水裡。水流湍急,群盜都以為她必死無疑。
真是吉人自有天相,正在她奄奄一息時,被一對漁翁老夫婦救活。小娥向他們哭訴了自己船上的悲慘遭遇,叩頭拜謝兩位老人家的救命之恩。在船上調養了幾天,漸漸有了力氣。她見兩位老人只能勉強糊口度日,不願再給他們添麻煩,就告辭去乞討度命。
一日來到建業上元縣的妙果寺,主持老尼凈悟見小娥聰明伶俐,十分同情她的遭遇,所以就把她留在寺里。小娥因為一心想着報仇,所以沒有剃度出家。
一天夜裡她夢見父親渾身血跡,告訴她:“你要想知道殺我的人的姓名,有兩句謎語,你要牢牢記住:‘車中猴,門東草。’”說罷颯然而去。小娥哭醒過來,夢裡情節記得十分清楚,但不解謎語之意。隔了兩天突然夢見丈夫告訴她:“殺我者,田中走,一日夫。”她連做兩夢,覺得絕非偶然,分明是屈死的亡魂來顯靈,苦於不能泄露天機,只能用謎語的形式來告訴。她苦苦思索也找不出謎底答案,請教凈悟師父也絲毫理不出頭緒。
後來,凈悟師父告訴她,附近瓦罐寺有位法名叫作齊物的高僧,學識淵博,你可以去請教他。小娥去了以後,說明了身份來歷,詳細介紹了謎語的內容,這位高僧苦思冥想也猜不出兩個人名謎底是什麼。小娥只好掃興的告辭。又過了幾年,瓦罐寺的僧人傳來話要她去,她興沖沖的趕到那裡,高僧齊物手指着他的一個朋友說:“這是我的好友,在江西洪州做判官,名叫李公佐,他已解出了兩個人名謎語。”小娥聽了趕緊上前見禮,問他仇人姓名怎樣解出的。李公佐說:“殺你父親的兇手叫申蘭,因為‘車中猴’的‘車’字,去掉上下兩橫就剩中間的‘申’字,門東草,就是草字頭下面是一個門字,門裡再加一個東字就念‘蘭’。殺你丈夫的兇手也姓申。你看‘田中走’,把‘田’字上下兩頭從中間走出去就念‘申’,‘一日夫’即‘夫’上加‘一’,下面再加‘日’就念‘春’。所以說這兩個兇手是申蘭、申春無疑。”小娥聽李官人解說得有條有理,對恩公千恩萬謝。又趕忙把這兩個仇人的名字記在衣襟里,發誓報仇雪恨。
她告辭後回到庵中,改扮成男子的裝束,改名謝保,辭別師父決心去尋訪仇人報仇。她有時到各個碼頭打聽仇人的下落,有時到來往的船隻上去幫工打聽。過了一年有餘,毫無音訊。一天她隨商船來到潯陽郡,在街上看到一張招工榜文,上面寫着“申籣大官人家裡招收男傭工一名,願者來投。”小娥喜出望外,決心應招去探個究竟。
申蘭看見謝保很滿意,便留下使用。從此以後,謝保勤勤懇懇、任勞任怨,逐漸得到了申蘭的信任,不到兩年的時間就讓她當上了管家。家裡的金銀財寶進進出出都由她說了算,它藉此機會在外面結交了一些正義之士。一次偶然的機會,她看到了自己家當年在船上被打劫的財物,這更證明了申蘭是殺父仇人無疑。一天,一個自稱是申蘭二弟的人帶着十幾個人來看望,在酒宴上,每個人都要在財神像前報名禮拜,謝保都一一記了下來。然後,謝保又用各種方法殷勤勸酒,把所有的人都灌得酩酊大醉、不省人事。她先用鋼刀切下申蘭的人頭,又出去找來正義朋友幫忙,綁上這些匪徒報到潯陽郡守那裡。
張太守升堂問案,審出申春等果然是多年來以打家劫船為生的江洋大盜,也終於交代了當年殺害、打劫謝小娥船家財物的犯罪事實。匪徒申春等同夥問斬,謝小娥報了冤讎,並得到了皇帝的嘉獎。一時之間,父、夫給謝小娥託夢,謝小娥千方百計求人破解謎語奇夢,然後歷盡艱辛捉盜報仇的事迹傳為美談。
夢不可以說是不奇,夢又難能這樣准,由此看來善惡有報是亘古不變的天理,正是天網恢恢、疏而不漏,天理昭昭、報應不謬。這難道還不能成為當世行惡者的警戒嗎?