影片讲述了白蛇只身去刺杀国师,但失败掉入河中,被许仙的前世阿宣救起。为了帮白蛇化身而成的少女找回记忆,一路的相伴他们爱上了对方,但也发现了少女是蛇妖的身份。为了能与白蛇在一起,阿宣甘愿变成了妖精。在捕蛇村外所有蛇妖与国师大战,阿宣为保护白蛇而死,白蛇也被打回原形。五百年后,许仙在西湖桥上与白娘子再次相遇。

这部电影的画面做得很优美,捕蛇村的房子都建在岩石顶上,村外有一片美丽花海,但最可爱的角色却是阿宣养的狗——肚兜。

捕蛇村的人都以捕蛇为生,因为国师下令捕蛇,可以用蛇抵税。阿宣却带着肚兜以采药为生,由于药不能抵税,经常是最后一个回村的人。在救回了白蛇化身而成的少女后,第一次带她去阿宣在村外采药时经常住的棚子。在爬岩壁时,肚兜不小心掉了下去,但被少女用法术救了回来。知道少女有法术,加上刚才掉下山岩,把肚兜吓得半死,赶紧跑回村去了。

为了帮少女找回记忆,阿宣带着肚兜与少女一起坐船前往永州的宝青坊。在船上,阿宣问肚兜是否喜欢他是,肚兜被少女施了法,突然开口说话了。肚兜:“谁喜欢你啊,不就是混口饭吃吗!”这突然出来的幽默对话,把肚兜吓了一跳,却把别人都说乐了。

在江中的船上,少女杀了黑蛇妖,却寒气入体昏迷了,同时也把自己是蛇妖的身份暴露了。为了救寒冰一样的白蛇,阿宣生了火并抱着白蛇,用自己的身体为白蛇取暖。肚兜在发现了少女是蛇妖后,劝阿宣离去,但劝不动。本来肚兜自己已经离开了,但后来又回来用自己的身体给白蛇暖脚。

阿宣为了能与白蛇在一起,甘愿去宝青坊找狐妖把自己变成妖。虽然狐妖要阿宣的精气与一样东西作为交换,但阿宣与肚兜出来后,却发现阿宣没少东西,精气也没有被吸走,还多了一条尾巴。最可怜的就是肚兜了,不但狗尾被移动了阿宣身上,还被吸走了精气而成了狗妖。从后来阿宣在城里的屋顶上跳来跳去的样子看,阿宣的精气不但没有被吸走,而且还被加强了,这不是一个正常人能有的力量。而跟在阿宣身后的肚兜,却累得要命,气都喘不过来。狗妖才是最为弱小的一个。

在国师与蛇妖的大战后,白蛇与阿宣被困在阵中,如果不能及时救出,会形神俱灭。成了狗妖的肚兜劝说村民去破阵,刚开始看劝不动,肚兜就自己前去破阵,最后也没救得了阿宣。

阿宣虽然养着肚兜,但肚兜却牺牲了很多。在塔外,青蛇打不着阿宣,却把肚兜打得很惨,承接了青蛇对阿宣的怒火,还被青蛇踩在脚下。在狐妖的宝青坊里,被两只小妖压在地上打。阿宣想变妖,却把肚兜也变成了妖,割了的尾巴被安到了阿宣身上。只想混口饭吃的肚兜,没想过变成妖怪,却被阿宣连累也变成了狗妖,而且是被吸了精气而成的一个最弱的妖。