Plot
The story begins with a flashback about a magical tree called the Source of Life inside the large and ancient Enchanted Forest. The Source of Life nourishes the whole forest as well as the inhabitants with its power. One day, a human trespassed through the Dark Mountain and entered the Enchanted Forest. The human was the owner of a sawmill and he begged Lesh, the current guardian of the forest, to give him a drop of water from the Source of Life to save his dying newborn daughter. Feeling pity, Lesh gave the drop to the sawmill owner, but then, he returned with an army of humans to take all the power for himself. This led to a fierce battle, which Lesh won, but at a great cost to him and his people. He then passes a new law that no humans would be allowed in the forest and the passage in the Dark Mountain must remain closed off forever.
In the present day, a virtuous nymph named Mavka wakes up from her winter sleep and awakens every living creature in the Forest, along with her noisy friend, Hush, and her kitty-frog companion, Swampy. The forest dwellers all rejoice at the spring.
Meanwhile, in a human village located near the Enchanted Forest, a woman named Kylina arrives and introduces herself as the now adult daughter of and heiress to the sawmill owner. She proposes a job to the villagers: to go into the Dark Mountain for a huge sum of money, but they refuse due to believing there are evil spirits in the woods. A young musician named Lukas needs money to buy medicine for his sick uncle, Leo, so he accepts the job. Kylina orders him to find a tree with a special leaf in the Enchanted Forest.
In the Enchanted Forest, Lesh announces that the Supreme Spirits of Nature will choose a new guardian at the Heart of the Forest, as Lesh has become less powerful over time. A water nymph named Ondina criticizes Mavka's abundant kindness and deems her unqualified for the role.
Mavka encounters Lukas and tries to scare him away, but after hearing him play his sopilka, she admires his musical talent. After Lukas explains his intentions, Mavka believes he's not evil so she offers to give him a cure, with Hush reluctantly helping them as Lukas promises he'll leave after. In gratitude for her help, Lukas promises Mavka to play his music for her. After spending time walking through the forest together, feelings arise between them.
At midnight, Lesh summons the forest dwellers to the tree with Lukas in disguise. The Spirits choose Mavka as the new guardian of the forest, which Ondina objects to the choice. Lukas speaks out in Mavka's defense but Ondina sees through his disguise and he gets chased out. Mavka allows Lukas to escape and gives him a drop from the Source of Life tree to cure his uncle, but he doesn't have time to play his music for her as he had promised. Ondina berates her for letting him go and then warns that he will eventually betray her. When Lukas returns, Kylina is not convinced that he came back empty-handed, so she orders her stylist, Frol, to keep an eye on him. Mavka's cure successfully heals Uncle Leo and makes him younger. Frol finds the special leaf from the tree, confirming that Lukas did find it so Kylina prepares for when he goes back to the forest.
The following day, noticing that Lukas had dropped his sopilka during his escape, Mavka disguises herself to look human and goes to the village with Swampy to return the sopilka to Lukas and to try to make peace with the humans. Lukas invites Mavka to come to the village's spring festival and she accepts. At the festival, he gifts her with a vyshyvanka dress as well as a pendant he made with four carved runes symbolizing the elements of nature. After having a good time enjoying the folk dancing, Lukas tries to keep his promise to play his music for Mavka, but when he plays, it accidentally undoes Mavka's disguise and reveals her as a nymph to the village. Seizing the opportunity, Kylina locks Lukas away in the mansion's basement and turns the villagers against Mavka, but Lesh saves her. Lesh tells Mavka the story of what had happened many years before, and how he once used the Spark of Rage, a pyrokinetic power bestowed on him by the Supreme Spirit of Fire, the One Who Sits in the Rock, which allowed him to defeat the sawmill owner's army. But that power came at a price, the price being his immense strength. He tells her the relationship between humans and the forest is a never-ending cycle of fire and death.
Kylina tries to get Lukas to mark the location of the Source of Life tree on her map, but he refuses. When he figures out Kylina captured Mavka, he agrees to her demands, only to realize that it was Frol disguised as Mavka. Kylina starts drowning Lukas in her basement and rallies the villagers to raid the forest. Finding her, Mavka tries to reason with Kylina by telling her the story of her father, the sawmill owner, and how the forest had saved her. Kylina reveals that she wasn't the sawmill owner's daughter, instead his wife. Kylina made her husband lie about their "daughter" being ill and also that she was the mastermind behind the first battle years ago due to her selfish desire for immortality and eternal beauty. Kylina then tricks Mavka into thinking Lukas betrayed her by taking advantage of her kindness and selling the Source of Life's location for money. This finally makes her think all humans are evil. A battle starts between the humans and the forest dwellers. Mavka, sad with regret, summons the One Who Sits in the Rock to bestow her with the Spark of Rage, promising to pay the price with her life. The power of the Spark of Rage proves to be too much as she loses her sense of empathy and drives out both the humans and forest dwellers together. A deadly firestorm descends on the village.
Hush, Swampy, and Dot, Lukas' dog, save Lukas from drowning and together they rush to stop Mavka from decimating the village. Realizing that Mavka can't hear his words, Lukas plays his sopilka, inspiring the villagers and forest dwellers to sing along to wake Mavka from her trance and stop the firestorm. They succeed, but Mavka is near death and Lukas cries as he pleads for her to come back. While Mavka's soul lies in the Void, she learns that Lukas never betrayed her. The One Who Sits in the Rock reaffirms that the Spirits made the right choice in choosing Mavka as the Guardian for she bridged the gap between the humans and the forest dwellers, but since she offered to pay the price with her life, she must remain in the Void for all of eternity. Mavka refuses, saying that her heart is full of something that will never die. Impressed by this, the Supreme Spirits return her to life and she awakens. Mavka and Lukas kiss as they reaffirm their love and the villagers and the forest dwellers agree to stop fighting and make peace.
In the post-credits scene, an old and wrinkled Kylina finds the Source of Life. Happy, she dives into the magical water, but within several minutes, she turns into a baby.