Lü Dongbin, one of the Eight Immortals, disguises himself as a man selling tangyuan at the Broken Bridge near the West Lake in Hangzhou. A boy called Xu Xian buys some tangyuan from Lü Dongbin, not knowing that the tangyuan are actually immortal pills. He does not feel hungry for the next three days after eating the tangyuan and is so puzzled that he goes back to ask the seller. Lü Dongbin laughs and carries Xu Xian to the bridge and flips him upside down, causing Xu to vomit out the pills into the lake.
There is a white snake spirit in the lake, who was practising Taoist magical arts in the hope of becoming an immortal after centuries of training and cultivation. The white snake eats the pills vomited out by Xu Xian and she gains 500 years worth of magic powers. The white snake is grateful to Xu Xian and their fates became intertwined. There is another terrapin (or tortoise) spirit also training inside the lake and he did not manage to consume any of the pills, so he becomes very jealous of the white snake. One day, the white snake sees a beggar on the bridge, who has caught a green snake and wants to dig out the snake's gall and sell it. The white snake transforms into a woman and buys the green snake from the beggar, saving the green snake's life. The green snake is grateful to the white snake and she regards the white snake as an older sister.
18 years later, during the Qingming Festival, the white and green snakes transform themselves into two young women, called Bai Suzhen and Xiaoqing respectively. They travel to Hangzhou and meet Xu Xian at the Broken Bridge, and Xu lends them his umbrella because it is raining. Xu Xian and Bai Suzhen gradually fall in love with each other and are eventually married. They move to Zhenjiang and open a medicine shop there.
In the meantime, the terrapin spirit has accumulated enough powers to take human form, and he transforms into a Buddhist monk called Fahai . Fahai is still angry with Bai Suzhen and he plots to break up her relationship with Xu Xian. He approaches Xu Xian and tells Xu to let his wife drink realgar wine during the Duanwu Festival. Bai Suzhen unsuspectingly reveals her true form as a large white snake after drinking the wine and Xu Xian dies of shock after seeing that his wife is not human. Bai Suzhen and Xiaoqing travel to Mount Emei, where they brave danger to steal a magical herb that restores Xu Xian to life.
After coming back to life, Xu Xian still maintains his love for Bai Suzhen despite knowing her true identity. Fahai tries to separate them again so he captures Xu Xian and imprisons him in Jinshan Temple
. Bai Suzhen and Xiaoqing fight with Fahai to rescue Xu Xian, and Bai uses her powers to flood the temple, drowning many innocent people in the process as well. However, Bai Suzhen's powers are limited because she is already pregnant with Xu Xian's child so she fails to save her husband. Xu Xian later manages to escape from Jinshan Temple and he reunites with his wife in Hangzhou, where Bai Suzhen gives birth to their son, Xu Mengjiao.
Fahai soon tracks them down and he defeats Bai Suzhen and imprisons her in Leifeng Pagoda.
20 years later, Xu Mengjiao tops the imperial examination and returns home in glory to visit his parents. At the same time, Xiaoqing, who escaped when Bai Suzhen was captured by Fahai, goes to Jinshan Temple to confront Fahai and succeeds in defeating him. Bai Suzhen is freed from Leifeng Pagoda and reunites with her husband and son, while Fahai flees and hides inside the stomach of a crab. There is a saying that a crab's internal fat is orange because it resembles the colour of Fahai's kasaya.