Six months after the events of Tangled, Rapunzel (Mandy Moore) is set to become the official Princess of Corona. However, on the day of her coronation ceremony, Rapunzel and Eugene Fitzherbert (Zachary Levi), formerly known as Flynn Rider, riding Maximus and Fidelio, are out in the forest racing each other to the border wall with the Royal Guards in pursuit. Splitting up, two of the guards chase Eugene while the third pursues Rapunzel. Eugene and the Captain jump over a log as their horses go under, but the following guard’s horse does not do the same thing, and the guard falls to the ground. Rapunzel and Fidelio nearly run over a herd of rabbits, but manage to avoid treading on them. The guard following her, however, crashes into these rabbits. Eugene and Rapunzel regroup and together jump over a river. Rapunzel is the first to make it to the wall and climbs to the top where she sees on the other side a magnificent view of the land beyond the kingdom. Rapunzel desires to see what was out there and hopes to someday. After a while admiring the view with Eugene, the guards catch up and escort the two of them back to the castle for Rapunzel’s coronation ceremony.
Upon returning to the castle, Cassandra (Eden Espinosa), Rapunzel’s lady-in-waiting, is waiting for her. Cassandra has been given the task to care for Rapunzel and help her adjust to life as the princess. While Rapunzel is happy to be reunited with her parents, she struggles to adjust to her new life as a princess. She is unable to go out into town without being heavily escorted by the Royal Guards, she does not know how to properly greet noble people who have come for her royal coronation and lacks at wearing shoes. She tries her best, and despite having a loving family and a supportive circle of friends, Rapunzel feels overwhelmed with the amount of responsibility that comes with being a princess. Because of her father’s fear of losing her again, he denies her desire to explore the world. On the eve of her coronation, it all becomes too much for Rapunzel, especially when Eugene builds up the courage to propose to her. Rapunzel is shocked and delighted, but despite her love for him, she does not feel ready to marry him. Instead, she wants to figure herself out and live the life she has been longing for. Overwhelmed and anxious, she rejects Eugene’s proposal and leaves the scene. Returning to her room, Cassandra believes Rapunzel could use some down time and offers to sneak her out for the castle and take her beyond Corona’s security wall.
Eugene goes to Rapunzel’s room wishing to speak with her about his proposal. He is initially refused entrance by orders from Cassandra but manages to enter upon convincing the guards. Eugene enters Rapunzel’s room and upon hearing him, Rapunzel’s chameleon Pascal creates an illusion of Rapunzel, pretending to be her. Believing Pascal’s illusion to be Rapunzel, Eugene begins to apologize for putting her on the spot but assures he truly loves her and wants to have a future together. Eugene further explains that while admitting he may have rushed things, he only wanted to keep the love and relationship they have together as he got used to having nothing growing up until now. However, Pascal can no longer contain the illusion, accidentally revealing himself to Eugene and causing him to discover Rapunzel’s absence. Eugene warns Pascal they need to find Rapunzel otherwise, they will be in serious trouble with her father and begin their search to find and bring her back.
While searching for Rapunzel inside the castle, Eugene is interrupted when Rapunzel’s father, King Frederic (Clancy Brown), arrives and notices his actions, becoming suspicious. Eugene creates an excuse, but King Frederic remains suspicious and asks for Rapunzel’s whereabouts. Eugene lies claiming Rapunzel is still in her room and prevents him from entering as she is still upset and needs time alone. King Frederic reluctantly respects Eugene’s wishes but orders him to tell Rapunzel they need to speak soon. Eugene begins to apologize for the events regarding his proposal to Rapunzel at the banquet, but King Frederic sternly replies they will speak of the matter later, leaving Eugene and Pascal to resume their search.
Accompanied by Maximus and Fidelio, Rapunzel and Cassandra sneak out of the castle and venture into the woods. Climbing over the wall and crossing an old bridge, Cassandra takes the princess to the former location of the healing flower that saved Rapunzel and her mother when the latter fell ill during her pregnancy. Mysterious thorn-like rocks have appeared in the area, and not only are they ominous, but also unbreakable. As Rapunzel examines the area further, she is struck by magic the moment she lays a finger on one of the rocks. Part of her hair begins to glow, and more of those mysterious rocks suddenly sprout from the ground. Rapunzel and Cassandra run back to the old bridge, chased by a trail of sprouting rocks. Running far ahead, Rapunzel’s hair begins to glow even brighter, and as she makes it out of the woods her long blonde hair that was cut grows back. No time to figure out what had just happened, Rapunzel and Cassandra cross the bridge, only for Rapunzel’s hair to get stuck. The bridge beneath them begins to crumble apart, but with Maximus’ help, the girls manage to free Rapunzel’s hair and make it safely to solid ground before the bridge finally collapsed.
As morning rises on the day of her coronation, Rapunzel and Cassandra sneak back into the castle and waste no time trying to get rid of the hair. However, they discover that Rapunzel’s newly restored hair is unbreakable like the thorns. They try everything from basic scissors to a battle axe, but nothing out of all of Cassandra’s collection of weapons seem able to cut the hair. Rapunzel is left baffled on what to do. She cannot allow her parents to know about her hair and nor can she be seen with it at her coronation ceremony. In order to hide it, Cassandra and Eugene help Rapunzel hide her hair in an oversized wig. Despite the awkwardness, the wig helps.
While Rapunzel is having breakfast with her parents, King Frederic reveals that after a discussion with Rapunzel’s mother Queen Arianna (Julie Bowen) he has admitted his methods regarding Rapunzel’s freedom to have been rather strict. He confesses his trouble of balancing his role as both King and her father but promises to reconsider his methods. However, King Frederic also begins to explain of Rapunzel’s future as Queen, revealing she will gain many responsibilities, such as protecting Corona from dangers both outside and inside the kingdom. During this time, several pirates are committing crimes throughout the kingdom and intentionally getting caught to be taken to the dungeons at the castle, on the orders of the mysterious Lady Kaine (Laura Benanti). Eugene visits Cassandra trying to learn what’s bothering Rapunzel and why she is keeping secrets. However, when Cassandra refuses to answer his questions, Eugene reveals his knowledge that Cassandra does not approve of his and Rapunzel’s relationship, but tries to assure he only wants what is best for Rapunzel. Cassandra quickly begins to leave the room but reveals her beliefs that Eugene only cares about his own needs and is not thinking about Rapunzel’s best interests.
Later on, Rapunzel’s coronation ceremony begins, and in during which, the royal family is confronted Lady Kaine, who had disguised herself as a visiting duchess and freed the prisoners from the dungeons, and who seeks vengeance on King Frederic for imprisoning her father after Rapunzel was kidnapped, despite him simply being a petty thief. Frederic and the rest of the royal guests are locked in a cage, but Rapunzel refuses to stand down and reveals her golden hair. She uses it as a weapon to defeat the criminals with Eugene and Cassandra’s help, saving her father. That night, despite proving her worth, Frederic feels more insecure about Rapunzel’s safety than ever before. With the very reason Rapunzel was taken in the first place having returned, Frederic feels he is forced to forbid Rapunzel from ever leaving the walls of Corona without his consent, driving his daughter to tears.
With her father’s new law, Rapunzel feels trapped once more, similar to her imprisonment within the tower. In her bedroom, Eugene arrives and comforts her, uplifting her spirits a bit. Eugene begins to apologize for putting her on the spot with his marriage proposal and Rapunzel apologizes for her poor reaction. However, Eugene assures Rapunzel and reveals that while he does not understand her decision he promises to do everything he can to understand and will take their relationship slow. After he leaves, Rapunzel reads a message in the journal given to her by her mother and becomes inspired to live her life to the fullest despite the obstacles she will have to face.
A while later, a mysterious individual comes across the site of the magical flower, with more of the rocks now covering the area.