很久以前,有一条小白蛇,一心向道,认真修炼,希望自己出尘成仙。一天,它正在山间修炼,不幸落入一个捕蛇人的手里,小白蛇只得闭目等死。
这时,一个牧童向捕蛇者走来。他央求道:“您放了它吧。我给您吹首小曲儿听。”捕蛇人听得入迷,小白蛇趁机逃走了。
小白蛇修满一千年,化身人形,变成一位美丽的女子,自己取姓白,取名素贞。她在观世音菩萨的指点下,来到杭州,决定报恩。途中,白素贞结识五百年的青蛇,名唤“小青”。此后,两人以姐妹相称,寻找那位转世的牧童。
三月初三,两人走到断桥上时,迎面走来一位俊雅的书生,竟真的是那个转世的牧童。原来这位书生姓许,名仙,字汉文。不久,由小青牵线做媒,白素贞与许仙结为了夫妻。两人在苏州开设“保安堂”,治病救人,行医布善。大家都说许仙是一个好大夫。
转眼间,端午佳节到了。许仙带着雄黄酒回家。雄黄可解毒辟邪,可这雄黄也是蛇最惧怕的东西,只是白素贞对此毫不知情。于是两人在庆祝端午时,白素贞陪着许仙饮下了雄黄酒。白素贞现出原形,吓死了许仙。夜里,酒醒后变回人形的白素贞发现许仙已死,悔恨不已,决心救活许仙。
白素贞很快来到紫薇山南极仙翁的洞府外。她仔细一看,守护洞口的竟然是南极仙翁的二弟子仙鹤童子。白素贞诱他出洞后趁其不备钻入洞中,拔下了紫薇山镇山之宝——灵芝仙草。仙鹤童子又气又急,攻势也凌厉起来。白素贞无力去抵挡,闭目大声说道:“我只求在我死后,童子能救我夫君一命。”就在这时,南极仙翁与观世音菩萨赶到,救下白素贞一命。
观世音菩萨向南极仙翁讨要了一株灵芝仙草,白素贞带回去救活了许仙。白素贞与小青作法制造幻象,让许仙以为家中真的有一条巨蟒,并已被杀,这才骗过许仙,令他不再惊恐担忧。
不久后,白素贞发现自己怀有了许仙的骨肉。许仙知道后大为高兴。可不久,许仙在金山寺遇上了法海禅师。那法海禅师说:“这位施主,你家中的妻子和丫鬟都是蛇妖所化!你也许还记得吧,白素贞因为饮了雄黄酒,现出原形,吓死了你。后来,你娘子找来灵芝仙草救了你。”
许仙有些相信了,忍不住问道:“大师,可为什么她们一直帮助我,照顾我啊!”法海摇了摇头:“她们是妖,是妖总会害人。”
许仙有些相信法海的说法,可又不愿意相信自己的妻子是蛇精所变。法海命弟子将他强行关在了寺中的塔内。
傍晚时分,白素贞命小青打探消息,这才知道是法海禅师扣留了许仙。白素贞立刻与小青同上金山寺,恳求法海放人。法海斥责道:“你们本是妖物,妄想与凡人相配。”“禅师,求你放了我官人!”白素贞忍不住双膝跪下,法海始终不为所动。白素贞同小青念起咒语,誓要水漫金山,救出许仙。
片刻间,只见海水倒灌,以排山倒海之势冲了出来。一眼望去,水面漂浮着一具具尸体,哀鸿遍野,连天地也为之变色。
法海忙怒喝道:“孽畜,你可知此举害死了多少无辜的百姓,你们真是罪恶滔天啊!”
白素贞也毫不示弱道:“你一再苦苦相逼,不肯放过我们一家人,你也难逃责任。”
两人打斗在一起,突然,白素贞觉得腹部一阵疼痛,小青只得咬牙带走白素贞。
其实就在白素贞水漫金山寺时,许仙已经被寺里的一个小和尚悄悄放走了。许仙不知道该去哪里寻找白素贞。恍惚中,他又来到了他们第一次相遇的断桥之上。此时白素贞与小青也一路寻找许仙至断桥处,两人意外重逢在断桥之上。
许仙万分悔恨道:“娘子,对不起,是我害得娘子受了这么大的苦。”白素贞哭泣着摇摇头说:“官人,我不怪你。过去的事情都已经过去了。”
白素贞不愿再欺瞒许仙,决定告诉许仙真相。听完后,许仙怔怔地看着白素贞,突然神色郑重地说:“我许仙能娶到娘子,就算你身为异类,可你心地善良,我怎么会畏惧你呢?再没有人可以拆散我们了!”
不久,两人重开医馆,济世救人,钱塘门的百姓受到他们的恩惠,无人不赞他们夫妻是济世的活菩萨。不久后,白素贞生下麟儿,为儿子取名许仕林。白素贞刚刚产子,根本斗不过法海,被法海擒了。法海将白素贞强行收到了金钵里面,压在雷峰塔下。
许仙伤心欲绝,只恨不能替妻子受罪。他将儿子许仕林交予姐姐与姐夫抚养,自己则独自前往金山寺出家,同白素贞一起赎罪。
小青幸得观音菩萨点化,返回白龙洞潜心修炼。
二十年后,许仕林长大成人。他聪敏过人,考取了状元。许状元祭拜于雷峰塔前,孝感动天,白素贞终于飘然出塔,一家人团聚,喜极而泣。团聚后的白素贞与许仙二人感念此前一生,悟道成仙,双双飞升而去。