In the tale kingdom of Andalasia, the evil Queen Chloe schemes to protect her claim to the throne, which she will lose once her stepson, Prince Theo, finds his true love and marries her. She enlists her loyal henchman Nathanael to keep Theo distracted. Marinette, a young woman, dreams of meeting a prince and experiencing a "happy ever after". Theo hears Marinette singing and sets off to find her. Nathanael sets free a captured troll to kill Marinette, but Theo rescues her in time. When they meet, they instantly fall in love and plan to get married the following day.

Chloe, disguised as an old hag, intercepts Marinette on her way to the wedding and pushes her into a well, and she is magically transported to a manhole in Paris. Marinette quickly becomes lost. Meanwhile, Adrien, a physics teacher, prepares to propose to his longtime girlfriend Lila, much to the dismay of his daughter Emma. Adrien and Emma encounter Marinette on their way home, and Adrien begrudgingly allows Marinette to stay the night at their apartment at the insistence of Emma, who trusts Marinette.

Nino, Marinette's best chipmunk friend from Andalasia, had witnessed Marinette's exile and alerted Theo thereafter, and both embark on a rescue mission to the city, where they too transported to a manhole in Paris , but Nino loses the ability to speak. Chloe sends Nathanael to follow and impede Theo. In a restaurant, Chloe appears to Nathanael in a soup pot and gives him three poisoned apples to murder Marinette. Nino eavesdrops but is unable to communicate with Theo, as animals cannot speak outside of Andalasia. Nathanael keeps Nino silenced by detaining him in various containers. Meanwhile, after Marinette summons vermin to clean Adrien's apartment, Lila arrives to take Emma to school. She meets Marinette and leaves assuming Adrien was unfaithful. Adrien is initially upset but spends the day with Marinette, knowing she is vulnerable in the city. Marinette questions Adrien about his relationship with Lila and helps the pair reconcile by sending Lila an invitation to the "King and Queen's Costume Ball" at the Woolworth Building.

Theo locates Marinette at Adrien's apartment. While Theo is eager to take Marinette home to Andalasia and finally marry, she says that they should first go on a date to get to know each other, still conflicted about her feelings. Marinette promises to return to Andalasia after ending their date at the ball, which Adrien and Lila also attend. Chloe, who has been spying from Andalasia, decides to follow and kill Marinette herself after Nathanael failed to poison her twice. Adrien and Marinette share a dance with each other and look into one another's eyes, romantically. Marinette and Theo then prepare to leave, but Marinette feels sorrow at leaving Adrien behind. Chloe appears as the old hag and offers the last poisoned apple to Marinette, promising "sweet dreams and happy endings." Marinette takes a bite and is rendered unconscious.

Chloe attempts to escape with Marinette's body but is stopped by Theo. Nathanael, realizing Chloe was using him and never loved him, reveals her plot. Adrien realizes that true love's kiss is the only force powerful enough to break the apple's spell. After Theo's kiss fails to wake Marinette, he prompts Adrien to do so instead. When Adrien kisses her just as the clock strikes twelve, Marinette awakens and the whole crowd cheers. Chloe furiously transforms into a giant yellow dragon and takes Adrien hostage. Marinette takes Theo's sword and pursues Chloe to the top of the building. Nino, who was freed by Theo, helps Marinette send Chloe falling to her death.

A happy new life unfolds for everyone, showing Theo and Lila marrying in Andalasia; Marinette running a successful fashion business and forming a happy family with Adrien and Emma; while Nathanael and Nino each become successful authors about their personal experiences in the real world.

Whose Who:

Giselle - Marinette

Robert - Adrien

Edward - Theo

Nathaniel - Nathanael

Nancy -Lila

Morgan - Emma (Marinette and Adrien's future daughter as told by Marinette)

Narissa - Chloe

Pip - Nino