Yan Chixia’s master sent him to Black Hill to train in the arts of demon hunting. After capturing an attractive female demon, Nie Xiaoqian, Yan falls in love with her and realises that his master sent him there to make him learn how to control his emotions. Xiaoqian also falls in love with Yan, and while he feeds her candy, she says she will fall in love with anyone who fed her candy. After some time, she begs him to kill her because humans and demons are not supposed to be together. Yan stabs her with his magic dagger, which does not kill Xiaoqian, but causes her to lose her memory of their relationship. Yan arrives late for a battle against the Tree Demon, Laolao, and sees that several of his fellow demon hunters have already fallen. The last one, Xia Xuefenglei, embeds his arm into Laolao and tells Yan to chop it off, thereby banishing Laolao from the mortal world.
Many years later, a tax collector named Ning Caichen passes by a village near Black Hill and stops to drink from a well. He is surrounded by the villagers, who initially accused him of stealing water because they are experiencing a drought, but later mistake him for an official sent by the government to help them find a new water source. Glad to be free, Ning goes up the hill, accompanied by a guide and five convicts, the only men the villagers are willing to send away with him. They stop for a break in a glade, and Ning goes inside a hollow tree and offers candy to a tiny, pale fox he sees there. A strange wind blows and they all run up the hill to a temple called Lanruo Temple, where they find a well. While Ning investigates the well, the other men notice some beautiful women in the temple and follow them further in. The women are actually demons in disguise and they suck the life out of the men to feed Laolao with “life energy”. Xiaoqian shows up and attempts to seduce Ning, but he rejects her. Yan Chixia arrives and starts slaying the other demons. Ning and Xiaoqian flee and hide in a tree, where he offers her candy.
The next day, Ning goes back to the temple with an underwater bomb, intending to blow up the well and release water for the village. He is attacked by two snake demons but Xiaoqian protects him from them and is injured herself in the explosion. Yan saves them, and he ties Ning to a horse and sends him back to the village while he uses his magic powers to heal Xiaoqian. Ning escapes, knocks Yan out and ties him to a tree. Laolao later insists that Xiaoqian feeds on Ning but she sends him away. Laolao punishes Xiaoqian while the villagers hold a feast for Ning. Ning leaves the village and frees Yan, who tells him that Xiaoqian is actually a demon. Ning still goes to the temple to bring Xiaoqian away with him. Laolao attempts to trap Yan by creating an illusion but Yan recognises the danger. In the meantime, Ning allows Xiaoqian to tap on his “life energy” to help her heal faster, after which they have sex.
The next morning, Laolao appears before Xiaoqian and tells Xiaoqian that her body is still in Lanruo Temple so she can never be together with Ning. Yan arrives and drags Xiaoqian away. Just then, Xia Xuefenglei and his younger sister Xia Bing show up and they defeat Yan and lock Xiaoqian in a magic cage. They tie up Yan in front of the cage so that he can watch Xiaoqian disintegrate before his eyes. Back in the village, the villagers start transforming into trees because the water they drank is cursed. While Xuefenglei goes to the temple to destroy Laolao and end the curse, Ning frees Yan and Xiaoqian.
Xuefenglei defeats the two snake demons but Laolao is now free. Yan shows up and rescues Xuefenglei. Xiaoqian, Ning and Xia Bing also arrive. While Yan and Xuefenglei fight with Laolao, Xia Bing uses magic to open the frozen well and Ning climbs inside to find Xiaoqian’s body. Laolao absorbs Xiaoqian’s spirit into her own body. Ning frees the spirits trapped by Laolao and they start attacking her. Yan uses his magic mirror to knock Xiaoqian’s spirit out of Laolao and transfers himself into Laolao’s body. Ning finds Xiaoqian’s body in the form of the tiny, white fox. Yan and Laolao transfigure between each other. When Yan gains control of their shared body, he pulls his magic dagger out of Xiaoqian’s head and she suddenly recalls everything about their past romance. Yan stabs himself with the dagger to kill Laolao, but he is also mortally wounded in the process.
Xiaoqian and a dying Yan are reunited again. Xiaoqian tells Ning to put her body down so that she can disappear together with the temple, which is now falling apart. She pushes Ning out of the temple to join Xuefenglei and Xia Bing, who are waiting outside. The following day, as Ning is about to leave the village, he hears Xiaoqian’s voice calling his name.