書生張珍與金宰相的女兒牡丹小姐幼年訂婚。張珍因父母去世,只得到金府投親。誰知金家見他貧窮,便冷眼相待,並以“金家三代不招白衣婿”為由,命張珍獨居後花園碧波潭畔草廬讀書,以等待時機退婚。張珍獨居客鄉,遭受冷落,萬般愁腸,經常在夜深人靜的時候,到碧波潭自嘆心事。
碧波潭裏鯉魚精,見張珍淳樸多情,壹表人才,便變做牡丹小姐的模樣,去書房與張珍約會,兩人情投意合,形影難分,遂約定每日二更在後花園相會。新春佳節,牡丹姐遊園賞梅,正遇張珍。牡丹驚呼,金宰相聞訊趕來,極為震怒,以傷風敗俗為由,將張珍逐出府門。
鯉魚精見張珍受到冤屈,急忙出府找到張珍,巧言釋去張珍之疑,表白了自己願隨張珍回鄉度日。兩人在街上欣賞花燈,被金宰相看見,金以為女兒與張珍私奔,將他們兩人雙雙抓回府。
真假牡丹相逢引起紛爭,宰相府裏的人無法識別,金宰相決定請包公來判斷。鯉魚精見事不妙,急忙回到水府,邀請水族兄妹前來幫忙。真假包公帶著真假張龍、趙虎,壹起來審真假牡丹。假包公暗示真包公,假牡丹情深義重,真牡丹嫌貧愛富,真包公因不願拆散這對姻緣,便推辭不問。
金宰相又請來張天師調動天兵天將捉拿張珍和鯉魚精。張珍、鯉魚精逃到荒郊,天兵緊緊追來,鯉魚精見形勢緊急,就將自己的真實身份告訴了張珍。張珍愛之更深。天兵天將兇猛追殺,鯉魚精雖然發起洪水阻攔,但始終不能突出包圍。
危急之際,觀音菩薩前來相救,要度千年鯉魚精到南海修煉成仙。鯉魚精忠貞於自己的愛情,忍痛讓觀音菩薩拔掉了自己身上的三片金鱗,轉為凡人。從此,她與張珍同甘***苦,過著幸福美滿的生活。