В древние времена демоны часто жили среди людей, принимая человеческое обличье. Тысячелетняя Белая змея спасла жизнь чуть было не утонувшему молодому знахарю-травнику Сю Сяну (Рэймонд Лам), после чего превратилась в очаровательную девушку Бай Сужен (Шенг Йи Хуанг). Молодые люди влюбились друг в друга, и Белая змея осталась с любимым в облике Бай Сужен. Через некоторое время в городе, в котором они жили, началась эпидемия страшной и загадочной болезни. Белая змея решила пожертвовать своими сверхъестественными силами и энергией, чтобы помочь Сю Сяну спасти людей. В то же время в город прибывает монах Фа Хай (Джет Ли) и его неуклюжий ученик Ненг Рен (Вен Джанг / Zhang Wen). Фа Хай раскрывает секрет Бай Сужен, опознав в ней древнего демона. Монах уверен, что любой демон является воплощением зла и несет опасность людям.