Film nawiązuje do starej chińskiej legendy, zgodnie z którą dawno temu na ziemi oprócz ludzi żyły potwory. Pewnego dnia młody zielarz Xu Xian (Raymond Lam), chodząc po górach, wpada do jeziora. Zostaje uratowany przez piękną kobietę (Eva Huang), w której zakochuje się bez pamięci. Niestety, nieznajoma jest w rzeczywistości demonem, tysiącletnim wężem w przebraniu kobiety. Xu Xian oddaje mu swoją duszę, ale o wszystkim dowiaduje się czarownik Abott Fahai (Jet Li), który postanawia walczyć z potworem, żeby uratować młodzieńca.