明嘉靖朝時,有個叫王東生的秀才出來游學。到了嘉應州,因其表舅在州府當賬房先生,就寄居在表舅家。
這天春光明媚,王東生心情甚好,就放下書,信步走到市集。沒走多久,看見一個老人在街邊擺了個攤子,正在給人把脈看病。老人身邊有一只漂亮的鸚鵡,正在按照主人的意思,從藥攤的各味草藥中,把一味味藥準確無誤地叼到紙包里,完畢后再由老人打包拿給病人,主人和鸚鵡配合默契,吸引了許多人來求醫。
這時,一個黑大漢橫著膀子走過來,后面跟著一群嘍羅。他二話不說,伸手朝老人索要銀子。老人不給,黑大漢就一腳踢翻攤子,眾嘍羅一擁而上推倒老人,去搶奪老人身上的銀子。四周人見勢不妙都躲開了,知道這黑大漢是屠員外的兒子屠富貴,出了名的混世魔王,誰也不敢惹他。
王東生見不得這種恃強凌弱的人,當即挺身而出,大喝一聲:“住手,光天化日之下欺負老人,太過分了。”屠富貴見有人出頭阻攔自己,把一對蛤蟆眼一橫,說:“哪里來的小雜種敢管老子的事,嫌命長了?”王秀才毫無懼色:“路見不平,自當要管。欺負老弱,算什么好漢!”屠富貴頓覺臉面盡失,惱羞成怒,上前就是一頓拳腳,打得王東生和老人臉腫鼻青,這才獰笑著揚長而去。
王東生起身扶起老人,幫老人收拾好攤子。臨別,老人感激他仗義相助,把那只鸚鵡贈給他:“承蒙公子出手相救,無以為報,這只小東西自小跟著我,十分通人性。現在,它總算找到合適的主人了。”王東生知道這鸚鵡是老人討生活的東西,哪里肯接。老人說他剩下的日子不多了,早就想為它找個有善心的新主人了,說完留下鸚鵡,自己一個人躑躅地離開了。奇怪的是,這鸚鵡好像明白主人的意思,站在王東生的肩上,朝老人的背影叫了聲:“小心走路。”老人把手搖了搖,慢慢地走遠了。
王東生回到表舅家里,剛要把鸚鵡系在窗臺邊,那只鸚鵡竟然開口說:“不要束縛我,我不會飛走的,我跟公子有緣。”王東生見鸚鵡如此曉通人性,就放開它,鸚鵡果然站著不走,從此跟王東生形影不離。他讀書時,鸚鵡就靜靜站在旁邊歪著腦袋聽;他出門時,鸚鵡就立在他的肩上。王東生還教它吟詩,它竟然記住了不少,有時還能與他對詩作樂。王東生喜歡得不得了,給它起了個名字,叫小嬰。
這天,王東生詩興大作,一連作了好幾首詩后,伏在書案上昏昏睡著了。一覺醒來已經是夕陽西沉,收拾文稿時發現那些詩不翼而飛,怎么找也沒找到。不一會兒,小嬰從外面翩翩飛回來,嘴里叼著一條綠色綢巾,側著腦袋瞅他。王東生接過那手帕,先聞到一股醉人芳香,再一看,上面竟還有一首剛寫上去的新詩:“感君多情意,此身多自憐。花遇春神拆,愛悅有誰知?”字跡纖秀,語氣纏綿,和的是王東生剛剛作過的一首。原來,小嬰把自己的詩帶到一個少女那去了,少女讀過后,為詩所動,竟然對答起來。王東生欣喜若狂,把手帕小心收起來,小嬰展翅大叫:“拿人東西,害羞,害羞。”
這以后,王東生作了不少情詩,故意放在桌上,好讓小嬰叼給那個少女,再把少女的詩作叼回來。王東生覺得,少女是個才學不輸于自己的人,愛慕之心日漸濃郁。這天,他作了一首詩向她表示了愛慕之情,少女也含蓄回應了他。原來,她早就傾慕王東生的才華,并且告訴王東生,她叫杜娘,父親是開書坊的,她從小就跟父親刻字排版,因此學會了作詩。
兩人靠小嬰傳遞詩作,不覺唱和了快半年。這日,王東生剛把詩作送出,小嬰就把杜娘的信帶回來,一看,愣了。原來,杜娘告訴他,父親貪圖財利,把她許給一家有錢人家做小妾,但她只想嫁給王東生,暗示王東生趕緊找媒人上門求婚。
王東生趕緊求表舅找人做媒。表舅一聽大喜,就托人去杜家替外甥求婚。結果杜家回音說,已把女兒許給屠員外的兒子屠富貴做第五房小老婆,已經選好了圓房的日子。王東生聽了,如遭雷擊人都呆了。
從那以后,王東生萬念俱灰,只有靠作詩來排遣心中苦悶,把哀愁都傾吐在詩中,而杜娘的回詩,也是凄凄慘慘。每次看到小嬰叼詩書忙碌往返的樣子,他就嘆息道:“既是無緣,何必操勞。”從此把詩燒掉。這時,小嬰就會著急得飛上飛下,好像要跟主人搶詩。
一日,趁王東生不注意,小嬰一把叼起新作,沖天而去,王東生搖頭不已。等小嬰回來,帶回來的是一封杜娘的信。信中暗示,她明天要去關帝廟里燒香。王東生霎時高興得手舞足蹈,他明白,這是杜娘有心約自己見面。
第二天,王東生早早就守在廟門口。日頭出來的時候,就看到了一群少女。哪個是杜娘呢?這時,肩上的小嬰突然飛起來,落到一個纖麗的少女肩頭。她就是杜娘!王東生心里一陣狂跳,杜娘也認出了他,含情脈脈地望過來,嫣然一笑,向側邊廂房指了指。王東生心里“撲撲”直跳,會意地點點頭,先獨自來到廂房里等待。一會兒,微風送來一陣清香,一陣佩環輕響,一個可人兒出現在他面前。兩人對視一陣,便緊緊抱在一起。
良久,杜娘脫開身子,解下腰間的一塊佩玉,交給他,含淚道:“感君一片情意,只恨你我無緣。這塊玉是我娘傳給我的隨身佩帶之物,今托付于君,只是希望有朝一日娶得新人時,還記得我這個命薄的人。”王東生不禁抱住她,仰天長嘆:“老天,老天,你為何不長眼?”兩人就像生離死別,抱頭痛哭一番。
正在這時,一聲怒喝從門外傳來:“好一對不要臉的男女,給我拿下!”王東生和杜娘驚慌回頭,看到兇神惡煞般的屠富貴帶了幫家丁堵在門口,指著他們罵道:“我早就料到你們這對賤男女來這里私會,姓王的,上次的事還沒跟你算完,現在又來勾引我家內眷,容不得你了,來呀,給我打,打死了扔到山坡上喂野狗去!”
眾家丁如狼似虎抓住王東生就打,打得王東生在地上滾來滾去,哀叫不止。杜娘眼見情郎被打得死去活來,就跪在屠富貴面前,哀求道:“別打了,放過他吧。”屠富貴冷笑:“小賤人,見情郎受難難過了吧?只要你答應回去就跟我圓房,什么事都好說。”杜娘心如刀剜,癡癡地望著王東生,屠富貴又惡狠狠地叫道:“打,狠狠打。”杜娘含淚道:“好,我答應你,你快叫他們不要打了。”屠富貴一揮手,扔下傷痕斑斑的王東生帶著杜娘揚長而去。
王東生拖著一身傷回家后,不敢說被打,只推說自己不小心摔的,被表舅責罵了一頓,請了郎中替他治傷。一日,王東生聽郎中跟表舅閑聊時說,杜家的女兒杜娘好端端的竟死了。王東生“哇”的吐出一口血,暈了過去。醒來之后萬念俱灰,心想不如也死了隨杜娘去,整天躺在床上,飯也不吃,藥也不吃,只想早點踏上黃泉路,好跟杜娘在奈何橋上相會。
這天王東生正在昏睡,忽聽有聲音在耳邊叫喚:“笨蛋,大笨蛋。”強睜開眼看時,原來是小嬰立在枕邊朝他叫個不停。王東生撫摸著它,落淚道:“小嬰,對不起了,原本想一起逍遙過快活的日子,看來不行了,你另找好人家去吧。”小嬰盯著他道:“笨蛋,杜娘沒死,沒有死。”接著小嬰告訴他,它本是天界仙女,因點卯時誤了時辰,被罰到人間貶為鳥類,待它做了一件善事后才能返回天宮。那個老者是百鳥神,見王東生善良耿直,就留下自己報答他。現在杜娘并不是真死,而是吃了它給的迷魂草假死,好騙過屠員外一家。小嬰最后說:“你要記住,等到杜娘下葬后,要在十二個時辰內把她救出來,然后用筆筒里的回魂草救她復活,你們就能在一起了。我因為時限到了,必須回天宮去,切記切記。”王東生這時大叫一聲醒來,才知道做了一場夢,發現小嬰確實不見了。
王東生把夢境回味了一遍,又在筆筒里找到了回魂草,不禁欣喜若狂,知道剛才的夢是小嬰特意來告訴自己真相。
等杜家人下葬杜娘后,王東生認準了埋葬地點,當晚帶了鐵鍬挖出棺材來撬開棺蓋,扶起杜娘,喂她吃下回魂草。三刻鐘后,杜娘便慢慢張開眼,看到王東生后微微一笑,輕啟朱唇道:“我知道你會來救我的。”王東生緊緊抱住她不放。
這對情人連夜逃回王東生的故鄉去了。后來,王東生考中進士,官至太守,與杜娘恩愛一生,傳為佳話。