A candle maker, Claude, and his wife are expecting their first child after a long time of trying to conceive. One night late into her pregnancy, the wife, Marie, has a dream-like vision of someone whispering the words 'Rapun, Rapun, Rapungalus' and wakes up with an intense craving for Rapuns (a special type of radish with blue leaves). She informs her husband that they grow in their neighbors garden and, despite his believe that the neighbor is a witch, Marie convinces Claude to go and steal some for her, which he does.
After she finishes them, Marie awakens from a nightmare about the radishes with the craving again in full force. She convinces Claude to go back for more radishes, but this time the witch is waiting for him, freezing him with her magic before threatening multiple punishments for stealing her radishes. Finally, she extracts a promise of anything she wants from him and what she decides she wants is their child, believing that he is too stupid to raise a daughter properly.
When Claude returns to Marie with this news (and the radishes) she is no longer able to eat them, and they spend the time until the baby is born placing garlic, wolfsbane and crosses all over their house in the hopes that they can keep the witch away, however, when the baby is born, the witch uses her powers to freeze them both and spirit the baby away to a far country.
The witch names the baby Rapunzel and they live in a tall tower in the middle of an enchanted wood, where the witch never cuts her daughters beautiful golden hair. As Rapunzel grows into an adult, her mother (the witch) becomes concerned that she will lose Rapunzel to a man due to her beauty, so she walls her up into the tower, never allowing her out, with the advice that its for her own good because you cant trust men.
At first, the witch comes to bring Rapunzel food and drink, but Rapunzel refuses to let down her hair in protest of being kept prisoner, but she eventually recants, allowing the witch to climb up so that she can eat. After eating, Rapunzel and the witch fight, first about her lack of father and then the fact that shes being kept prisoner. Rapunzel tries to bargain with her mother that she wouldnt leave her alone and that she needs a friend, but her mother refuses to allow her out, promising to visit her every day. Finally, she allows Rapunzel to have a talking macaw, but obviously it isnt what Rapunzel had in mind.
Years pass and Rapunzel stays locked in the tower in the middle of the forest, sometimes singing of her loneliness. One day, a prince lost in the enchanted forest hears Rapunzels song and, following it, approaches the tower in time to see the witch call to her daughter to let down her hair. Waiting until she leaves, the prince calls up to Rapunzel to let down her hair, which, after questioning whether hes a real, live man and making him assure her that he wont lie, deceive her or steal whats most precious to her she allows him to climb up her hair.
Upon meeting her face to face, the prince immediately falls in love with Rapunzel (and she with him) and they kiss. As they kiss, the witch comes by, startling them, and as the prince hides, the witch tells Rapunzel from below that there is a man nearby and wants to know if shes seen him. Rapunzel insists that she hasnt, that she has been napping, and the witch informs her that when she finds the man shell gouge out his eyes and turn his brains into soup. Rapunzel reacts with disgust and the witch tells her not to knock it until she tries it.
After the witch leaves, the prince asks Rapunzel to marry him and she agrees, so they say their vows to each other and from that day on consider themselves man and wife, with the macaw repeating the princes words. The prince wants to help her escape, but Rapunzel refuses to cut her hair in order to climb down it and insists that the witch would hear the prince cutting down trees to make a ladder. She finally agrees that if he brings skeins of silk to her, during the night when her mother doesnt visit, she can weave them into a ladder and escape.
Weaving the ladder takes time, however, and eventually Rapunzel slips up by telling the witch that she seems light (because the prince is much heavier) and the witch asks whether shes seen the man they talked about before. Rapunzel denies having seen him, but the macaw repeats what he has heard 'Come at night, my prince. Rapunzel, I love you. Rapunzel, will you marry me?' and the witch begins searching around for the man. She finds the ladder that Rapunzel was weaving and screams in anger, grabbing scissors, cutting Rapunzels hair and then spiriting her away to a desert, far away.
The witch leaves Rapunzel there to fend for herself and returns to the tower, awaiting the prince. When he arrives, the hair is let down, but when he reaches the top, the witch is waiting for him. As she moves toward him, he falls and hits his head on a tree log, blinding him. He wanders through the forest, blindly searching for Rapunzel and eventually finds her in the desert where she was left, Rapunzel having given birth to their twin children (a boy and a girl) in the meantime.
As Rapunzel cries over his head resting in her lap, a magic tear falls from her eye and touches the princes eyes, restoring his sight. Rapunzel introduces the prince to his heirs and the prince takes them back to his kingdom where Rapunzel is reunited with her real parents and they all live happily ever after... except for the witch, who died of hardening of the heart.