In the kingdom of Frell, baby Ella is given the "gift of obedience" by her obnoxious and misguided fairy godmother, Lucinda. This turns out to be more of a curse, making her do anything she is told to do, no matter how terrible or physically impossible. Some years later, Ella's mother dies after instructing her to tell no one of the curse, not even her father. Eventually Ella's father, in need of money, remarries a wealthy socialite. His greedy new wife, Dame Olga, and her two spoiled daughters Hattie and Olive treat her poorly.
Ella, now a beautiful young woman, happens to meet Prince Charmont, the young, attractive, and very popular heir to the kingdom; they began to like each other. She cannot bear to live under the obedience spell and Hattie's jealousy a moment longer, so she resolves to find Lucinda, the only one who can remove the spell. Mandy, the household fairy and the only other person who knows of the curse, introduces her boyfriend to Ella; he is in the form of a book but can help Ella by showing things such as pictures of people in their current surroundings. During her journey, Ella encounters an elf named Slannen, who wants to be a lawyer instead of an entertainer as the kingdom's laws now require. Slannen joins Ella on her quest, but they are captured by a group of ogres, who prepare to cook and eat them. They are rescued by Prince Charmont. He then accompanies her to a wedding in the land of giants, where Ella hopes to find Lucinda. As they make their way there, the prince and Ella begin to fall in love. They pass a plantation where giants are working as slaves, and Ella tries to open Char's eyes to the cruelty of the new laws oppressing elves and giants. There, Ella is forced to perform a rendition of Queen's "Somebody to Love", performed by Freddie Mercury. Char then suggests that Ella should come with him to his palace to visit the Hall of Records and track down Lucinda faster.
At the palace, Charmont's uncle, Sir Edgar, has Ella's "gift" called to his attention by his talking snake, Heston, (voiced by Steve Coogan) who has been spying on the prince. When Edgar offers them Char's hand in marriage, Ella's stepsisters explain that she does everything she is told. Edgar knows that Prince Charmont intends to propose marriage to Ella, and he orders her to stab him to death and not to tell anyone of the plan. Sir Edgar also reveals that he murdered Prince Charmont's father. To prevent the murder of Char, Ella asks Slannen to tie her to a tree outside the city and to find the giants so they can help. Lucinda now appears before Ella, who asks her to undo the "gift" of obedience. Offended by the request, Lucinda refuses, saying that if Ella no longer wants the spell, she must remove it herself. She unties Ella from the tree and gives her a fancy dress and tells her to attend the ball. When Ella gets to the ball, Charmont almost immediately takes her to the Hall of Mirrors and asks her to marry him. Ella is about to stab him with the dagger Edgar provided, when she realizes how to free herself from the curse: looking into a mirror, she orders herself to no longer be obedient. This saves Prince Charmont from his uncle's treachery. But Edgar is watching the entire scene behind a two-way mirror, and before Ella can explain to Char why she tried to kill him, he orders the guards in, to lock her up and have her executed in a few days.
Meanwhile, Slannen gets the giants, and the ogres come to help as well. They sneak into the castle just before the coronation. They rescue Ella and find out that Sir Edgar is poisoning the crown that is to be put on Char's head in the ceremony. When the crown is just inches above his head, Ella barges in along with Slannen and the ogres and screams, "Drop that crown!" Edgar and Heston call for knights and the ninja-like Red Guards, and they all battle in the hall against Prince Char, Ella, the ogres, the giants, and Slannen. During the fight, Ella has time to explain to Char everything that has happened. When Sir Edgar's forces lose the battle, Heston tries to bite Char, but is stopped by Ella and trampled by members of Char's fan club. This shows that Ella was telling the truth, and Edgar admits everything to the assembled crowd, saying it was justified because he is the only one fit to wear the crown. Then, carried away by his own rhetoric, he puts it dramatically on his own head, and promptly collapses from the poison, although he survives.
Char and Ella kiss; her stepsisters arrive and order her to stop kissing, and she is delighted to refuse. Ella then walks up to Hattie and takes her mother's necklace back from her (Hattie had forced Ella to give it to her near the beginning of the movie). Char once again asks Ella to marry him, and she agrees.