明朝時期,江陵有一個小山村,村裡有一個叫劉洋的年輕獵戶。這個人早年失去了父親,和母親趙氏住在一起。雖然他家並不富裕,但也衣食無憂。劉洋23歲時,在母親趙氏的張啰下,娶了一個叫桃樺的女孩。桃樺不僅長得漂亮,而且手腳勤奮,知識淵博。劉洋一見鍾情。他們婚後互相敬重,感情很深。但是天有不測風雲,一場突如其來的意外,生生拆散了兩人。
那天晚上,桃樺和婆婆正在家裡收拾家務,鄰居阿三卻火急火燎的沖了進來,一進門就喊道:出事了,趙大娘,劉洋出事了!
婆媳倆人聽了這話,都感到很驚訝,趕緊跟着阿三來到村口。然而,他們沒有看到劉洋,而是看到了早上和他一起出去打獵的同伴。同伴們此刻渾身是是血,奄奄一息地倒在地上,他身上都是咬痕,顯然是被什麼野獸襲擊了。
經詢問才得知,劉洋和他的同伴在打獵時突然遇到了一大群蛇。蛇不分青紅皂白地攻擊了他們。他的同伴幸運地逃回了村子,但劉洋的生死還不確定。
聽到這個消息,婆婆和兒媳當場就暈倒了。之後,鄉親們組織人上山去尋找,發現了柳陽和他的同伴被蛇攻擊的地方,只見那裡一片狼藉,留下了許多蛇的屍體和大量的血跡,但柳陽卻不見了。人們搜索了三天,卻一無所獲。在這種情況下,生存的機會很小,每個人都失去了信心,也就放棄了繼續搜索。
這件事對趙氏和桃樺打擊很大,兩人整天以淚洗面,茶飯不思,精神變得恍惚,身材瘦削。不久,桃樺的母親來到趙家接女兒。畢竟桃樺還年輕,媽媽不希望女兒一輩子寡居,所以打算再給她介紹一個對象。毫無疑問,這件事是在趙氏的傷口上又撒了一把鹽。兒媳離開後,她終於不堪重負,生病廠下卧床不起。幸運的是,桃樺重情重義,每天偷偷溜回來照顧婆婆,說不可能改嫁。她一輩子都要當劉洋的媳婦。桃樺說到做到,她接連拒絕了幾戶人家的上門提親,這讓趙氏非常感動,但也非常內疚。她知道桃樺是個好女孩,所以她不想耽誤她。思前想後,她仍然想勸說她的兒媳,聽她母親的話,可找一戶人家。但就在趙氏準備勸說她的時候,卻發現了一件奇怪的事情。
不知從何時開始,兒媳桃樺彷彿走出了喪夫的陰霾,整個人也變的開朗多了,臉上的笑容也多了,也越來越紅潤,彷彿比以前更漂亮了。
看到兒媳的變化,趙氏的第一反應是兒媳有了新歡。她雖然心裡感到有點不舒服,但她也為桃樺感到高興。然而,她沒有明說,而是一直暗示桃樺她想見見桃樺的新歡。然而,桃樺的反應有點奇怪。她先說了一些沒有的事,然後把話題扯到了死去的劉洋身上,他還說馬上就是他的生日了,應該給他什麼禮物。話後,她看着婆婆,趕緊把話題岔開。
兒媳的反應讓趙氏懷疑,她總是覺得兒媳對自己隱瞞了什麼,她也非常擔心桃樺的精神狀況。為此,有天晚上,趙氏悄悄地跟著兒媳回家,躲在門外偷偷觀察,想看看她是否能找到什麼線索。
她從晚上一直等到深夜,沒有異常發生。就在她放下戒心準備離開的時候,她發現一個黑影慢慢走到桃樺的窗前,桃樺打開窗戶,笑着跳了出來,直接撲進了黑影的懷裡。
趙氏見此,悄悄地湊了過去,一抹月光照在兩人身上,她也看到了來者的容貌,正是自己死去的兒子,劉洋。只見劉洋臉色蒼白,皮膚下長出綠色鱗片,腿變成了一條粗壯的蛇尾,手裡拿着一隻野雞。
看到兒子趙氏驚呆了,然後不顧一切地沖了出去,大聲喊着劉洋的名字。劉洋被發現後,他想逃掉,但聽到母親的聲音後,他呆在了原地。最後母子倆見面,哭着擁抱在一起,劉洋也訴說了一切
原來,當他被蛇殺死後,他的屍體被蛇族的頭目帶走了,一個修鍊了百年的蛇妖,並把它變成了一個蛇脹鬼,希望劉洋幫助自己繼續傷害別人。劉洋很無奈,但只能聽蛇妖的命令,但他很關心妻子,所以經常在半夜偷偷打獵物送回家。
桃樺發現後,不但沒有嫌棄他現在的樣子,反而隱瞞了此事,夫妻每晩都要相見,桃樺也想幫助她的丈夫擺脫蛇妖的控制,但蛇妖一死,劉洋也會魂飛魄散,她下不了決心,也不想讓她的婆婆看到他現在的樣子,所以她一直在隱瞞。
得知真相後,趙氏悲痛欲絕,痛哭不止。亊已至此,蛇妖將立即帶領蛇進攻村莊。到那時,無數人將會死亡。劉洋邊安慰她們邊說,迅速找到一位法力強大的道士來消滅蛇妖,拯救大家於水火乙。
婆婆和兒媳一開始並不同意,但在劉洋的強烈勸說下,他們同意了,第二天早上,他們請了一個道士來幫忙。晚上,劉洋出現了,帶着道士找到了蛇妖的藏身之處。經過一番激烈的打鬥,蛇妖終於被殺死了,道士施法保住了劉楊的靈魂,並幫助他重生。
道士帶着他的靈魂回到家裡,最後一次見到了趙氏和桃樺,一家人緊緊擁抱,久久不願分開。最後,劉洋變成了一點星光,消失在夜空中。