昔々、峨眉山に千年以上にわたり修行をしていた白と青の二匹の蛇がいた。

二匹は人の世の美しい景色にあこがれ、二人の美女に身を変えて、「白素貞」と「小青」と名乗り、有名な景勝地・杭州の西湖にやってきた。

西湖の景色の美しいこと。二人が名所・断橋の傍に来たところ、突然、大雨が降り出したため、柳の木の下で雨宿りをすることにした。

ちょうどその時、向こうから若い書生が傘を手に歩いてきたのだ。書生の名は許仙といい、お墓参りの帰りに、柳の木の下で雨宿りをする二人に出会った。彼は自分の傘を二人に貸してやり、船を呼びつけ、家まで送らせた。

白素貞は許仙を好きになり、翌日、傘を取りに自分の家に来るよう頼んだ。

翌日、許仙は約束通り、湖畔の白素貞の家に来てくれた。

素貞は許仙の助けを感謝し、彼の身の上を尋ねた。許仙は、自分が幼くして両親と死別し、今は、姉の家に居候して、薬屋で奉公していることを伝えた。素貞はプロポーズをし、許仙は喜んで許諾した。小青が仲人になり、二人はめでたく契りを結んだ。

結婚後、夫婦で薬屋を開いた二人。素貞は医学に精通し、毎日、苦労をいとわず、数多くの患者を診断していた。人々は素貞のことを信頼し、敬意を含めて、「白娘娘」と呼んでいた。

ところで、鎮江の地には金山寺という寺があり、住職の名は法海と言う。彼は、素貞が千年以上修行した蛇の妖精だと見抜いた。彼は、妖精である以上、必ず人間に害を加えるのではないかと思い、許仙を素貞から離させようとした。

ある日、法海は許仙に「あなたの妻は蛇の妖精だ」と告げたが、許仙はそれを信じなかった。法海は、五月五日・端午の節句の日に、素貞に雄黄の入れた酒を飲ませれば、彼女はもとの姿に戻るはずだと教えた。

端午の節句の日、家々は邪気払いに雄黄酒を飲んでいた。蛇は雄黄酒が苦手で、素貞と小青はこれを避けるため、山中にしばらく入ろうかとも思ったが、許仙に疑われるのを恐れて、病気を偽っていた。

一方、許仙は法海の話を信じてはいなかったが、皆が飲んでいる雄黄酒を素貞にも勧めた。素貞はやむを得ず一杯飲んではみたが、直ちに酔っ払い具合が悪くなった。許仙はあわてて素貞を支えて、帳の中で休ませて、酔い覚ましのスープを作り、ベッドまで持っていった。しかし、そこには妻の姿は見当たらず、代わりに大きな白い蛇が蟠っていたのだ。許仙はこれで気を失ってしまった。

白蛇は目が醒めて、気絶した許仙を見てたいへん悲く思った。彼女は小青に許仙を託し、自分が仙山へ霊芝を盗みにいくことを決意した。許仙の命は霊芝でしか助けられなかったからだ。

素貞はこの時、すでに身ごもって7ヶ月だった。仙山に到着後、素貞の動きは山護りの仙童にばれ、二人は激しく戦った。命をも顧みずに戦う彼女の姿を見て、仙山の主・南極仙翁は心が打たれ、霊芝を授けてやった。

許仙は助かったが、心の中はあいかわらず怯えていた。そこで、素貞は白い帯を白蛇に変身させて梁に蟠らせ、許仙が見たのはこの蛇だと偽った。許仙はようやく妻が蛇の妖精だったことを疑わなくなり、夫婦は仲直りをした。

しかし、負けず嫌いの法海は、再び許仙を金山寺にたぶらかし、家に帰らせないようにした。素貞と小青は彼を探して金山寺まで来たが、素貞はつわりの激しい腹痛によって法海に負けてしまう。

彼女は許仙と初めて会った断橋まで逃げると、その情景に接して悲痛な思いになった。小青は許仙が法海の言うとおりに行動することを責め、素貞に許仙と分かれよう説いた。

許仙は寺の小僧の助けにより、金山寺から逃げ出し、断橋で妻と再会する。素貞は自分が確かに蛇からの変身だとつげたが、許仙は妻の愛情の深さを悟り、人間であろうと蛇であろうと二人は共に白髪になるまで添い遂げることを心に決めるのであった。

二人は家に戻り、しばらくした後、素貞には息子が生まれた。しかし、子どもの満一ヶ月を祝う日に、法海が再び姿を現した。彼は許仙の嘆願を顧みず、神の武将を遣い、素貞を西湖湖畔の雷峰塔に鎮めてしまった。

峨眉山に逃げ帰った小青は、技を磨き、法海を破って素貞を救い出した。