When Bayern's mining operations in the Bavara Mountains threaten Kildenree's borders, the Queen of Kildenree and Prime Minister Odaccar of Bayern meet to ensure peace between their nations. They decide to arrange a marriage between Bayern's Crown Prince Geric and the queen's firstborn, Princess Anidori.
After Anidori's sixteenth birthday, she begins her long journey to Bayern. The prince spends the time pacing in his rooms, trying to commit Anidori-Kiladra Talianna Isilee's long name to memory and hoping that his mysterious intended bride is kind, clever, and pretty. There is some trouble surrounding her arrival, but the princess soon proves to be witty, charming, and "all that a princess should be".
One day Geric decides to tame a new bay horse away from the training fields because honestly, he's not a very good horse master and the stable hands have been laughing at all his attempts for the past week. He takes the bay to the goose pasture, but his luck at taming the beast isn't any better there. After the horse throws him twice in a row, a young woman lounging in the pasture steps in. She orders Geric to stay put and approaches the horse, managing to calm it enough to mount it herself. Suddenly, she springs the bay forward and rides down the length of the pasture. Geric runs after her, hardly believing that she just up and took his horse. She soon comes back and apologizes, but her wide smile belays any sincerity. He admits that she's far better with the horse than he can ever hope to be, and suggests that she keep the horse at her home so he can be ridden properly, even offering to pay her, but she explains in embarrassment that she is just a goose girl and has nowhere to keep the horse. He apologizes and tells her that his name is Geric. Yet instead of realizing he's the prince or even giving him her own name, she just nods and walks away.
He returns to the goose pasture the next day with some flowers for her because he felt like "a kingly dolt" and wished to apologize further, but she isn't there because of a rainstorm. He returns every day in hopes of seeing her, holding onto the flowers until they wilt. Forced to throw the dead plants away, he scrounges up a sack of food from the kitchen in case he finds her. Luckily, the day is sunny and she and her geese are finally at the pasture. The first thing he does is ask her name before presenting the goose girl, Isi, with the food instead of the wilted flowers. She assumes he's a guard at the palace, and he chooses not to correct her, pretending to be a guard to the prince presumably because he doesn't want their easy camaraderie to be altered by their different statuses. Learning that she has not had a midday meal since she started working as a goose girl, he promises to bring her dinner every day. He even brings her a horse so they can go riding through the pasture together.
One day he visits her in a gloomy mood due to negative gossip at the palace. Isi tries to distract him by asking about the princess's horse, who is rumored to have gone dangerously mad. She is very upset when he says that the horse will most likely be killed and begs him to ask the prince to spare the poor creature. Geric promises to try his best and immediately leaves to do so, but not before he attempts to stammer out how much his days spent with Isi mean to him. Words having failed him, he looks into her eyes and sees the golden autumn trees framing her and the light of the sun on her skin. He gently touches her cheek before holding her hand and standing quietly for a few moments, almost afraid to do anything more but hold her hand. She holds his hand in both her own, but with her touch he remembers that he shouldn't be acting this way when he is engaged to someone else. He abruptly pulls away and mounts his horse, preparing to dash to the palace in the hopes of saving the horse of whom Isi is so fond, but not before he gives her a heartfelt apology.
Geric realizes that he seems to be falling in love with Isi, and as he is betrothed to Princess Anidori of Kildenree, those feelings are not acceptable. He makes the difficult decision to not return to Isi's goose pasture and sends her a letter instead, explaining that he cannot love her and furthermore, was unsuccessful in sparing the horse, as he had already been taken away to be killed by the time Geric got back to the palace.
He later attends the wintermoon festival with his fiancée and his younger brother. They stop to play a game involving throwing miniature spears at a wooden boar, and Geric does rather well until the princess playfully bumps his elbow, causing the spear to sail off course. It lands near Isi, who is watching the festivities with her friends. He recognizes her, but before he can do anything but stare she disappears into the crowd.
Sometime after the festival, the princess reveals that Kildenree is plotting to attack Bayern. She claims that she was sent as a sort of decoy, to marry the prince and pretend all is well, but she has grown to like Bayern and does not wish to be a part of her country's deception. The king is outraged and starts to prepare Bayern for a preemptive strike, deciding that Geric's wedding to the princess will be held at a grand manor located at Lake Meginhard, which is on the way to Kildenree. A day or so before the wedding, word is sent that Princess Napralina-Victery of Kildenree is outside the gates with an escort, demanding to see the king of Bayern in order to pay her respects and witness the wedding of her older sister, Anidori. She is instead taken directly to the princess, but the king soon calls her to his presence.
Napralina curtsies deeply before stating that she is not actually Princess Napralina. Before she can say more, the king signals two soldiers to take her away, but Geric stops them. Looking at her more closely, he recognizes her face and is stunned to see that she is Isi, the goose girl. Understandably confused, he asks her what is going on. Isi explains that she is truly Princess Anidori-Kiladra Talianna Isilee, and that the girl who has stolen her name is actually Selia, her lady-in-waiting. She claims that on the long journey from Kildenree to Bayern, Selia and half of her escort guard mutinied, killing the other half and attempting to kill her too so Selia could replace her as princess. Ani had escaped their slaughter and hid for months as a goose girl.
The doubtful king allows his younger son to leave the room, but Isi, believing that the young prince is Anidori's betrothed, thinks he should stay, as this concerns his bride. The prime minister regards her with disdain, revealing that Anidori is the fiancee of their elder prince, Geric, much to Isi's shock. Geric would like to believe that Isi is being truthful, but her story is far too strange. The princess who is accused of being Selia implies that Isi is merely using her friendship with the prince to "win her little game". Even so, Geric is willing to listen to her further but his father is growing impatient. He wants to throw her in the dungeon until the war with Kildenree is over and he has time to judge her case, despite Geric's protests that there is no proof that she has done anything criminal. Geric suggests that Isi be left with her fellow countrymen in the hopes that they'll arrive at a suitable resolution. Isi, or Ani as the case may be, begs him not to leave her alone with them, claiming that they are murderers who will kill her. Geric is growing suspicious of the Kildenreans, but leaves anyway.
As a child, Geric used to play in a secret corridor concealed behind the manor's throne. Geric reminds his father of this hidden place so they can eavesdrop on the Kildenreans and discover the truth. They overhear from the Kildenreans' own mouths that Isi is truly Princess Anidori, and the girl whom they thought was the princess all this time is Selia, the treacherous lady-in-waiting. Selia is triumphant that the king is unquestioning, but concerned that the prince seems to doubt her. Ani declares that the reason Selia has had so much trouble getting the prince to love her is because he fell in love with Ani when she was the goose girl, earning a vicious slap. Selia's closest personal guard and lover, the Kildenrean traitor named Ungolad, threatens to kill Ani unless she obeys Selia and agrees to give up her title, but the true princess refuses. Selia, knowing that it's useless to threaten Ani since she's in love with the prince, tells Ungolad to cut her so they can kill Ani by claiming she attacked Selia. Unable to stay hidden at these words, Geric interrupts them by bursting through the tapestry behind the throne along with the king and a handful of soldiers.
Seeing Ani trapped with Ungolad's hand over her mouth and knife at her throat, Geric draws his sword to rescue her but stops short when Ungolad threatens to kill her. The prince attempts calm Ungolad enough to release Ani, but the traitor will listen to no one except his beloved Selia. Geric promises that if the Kildenreans start fighting or kill Ani, they'll all die, but if they let the princess go, no one will be executed. Selia demands that they take Ani with them as assurance of their safety, but Geric refuses, knowing that they'll most likely kill her as soon as they escape. Suddenly, a windstorm swirls into life around Ani, who appears to be controlling it somehow, awing everyone in the room with her mysterious power. Ungolad finally loses his patience with Ani and breaks the spell by swinging at her with his sword. The blow is knocked aside by the wind, but as he prepares to swing again, Talone, the captain of the guard who managed to survive the mutiny's slaughter, rushes in and challenges Ungolad to a fight. The Kildenrean traitors rush into battle against Ani's fellow animal workers -who were pretending to be Napralina's escort- and the Bayern soldiers as Geric runs to protect Ani.
Ani soon brings Geric's attention to the fight between Ungolad and Talone, which is not going well. Ungolad nearly suceeds in murdering his old captain when Geric runs at him, hoping to distract him with a new enemy before he can finish killing Talone. A blood-thirsty Ungolad agrees to Geric's challenge, viciously raining blows upon the prince because he "would have shared [Selia's] bed".
Soon, they are the only ones still fighting. Though concerned for his safety, the Bayern soldiers decline to help the prince, explaining to a frantic Ani that it is the prince's first battle, and to help him would be to dishonor him. Although Geric's swordplay has never left the training fields, he is able to hold his own against the experienced killer for a while, but his skill with a sword is no match against Ungolad's bloodlust. Geric's fate is looking more and more grim until Ani secretly strikes Ungolad with a bolt of wind, giving Geric enough time to recover. Ungolad manages to stab Geric in the side, but the pain seems to give Geric strength until he manages to give Ungolad a deathblow. The king symbolically snaps a discarded javelin in two and hands his son a sword, marking Geric as a man. The prince is gently lead from the room to heal from his injuries as the king decides to charge Selia with treason.
The next day, Geric is called to the conference room to discuss the matter of war with Kildenree. By the time Ani is summoned, Geric has shouted in argument until his face is flushed. Ani swiftly disproves the evidence Selia provided of Kildenree's false intentions of war, making the king and his council feel utterly foolish. Geric soon finds Ani after the war council and praises her for stopping an unnecessary war. He then apologizes for betraying her sentiments and lying to her about who he was. He acknowledges that he knows that their marriage was arranged without her consent, and if she doesn't want to marry him, he'll understand. Nevertheless, he professes his love for her and asks if she'll marry him, and she happily accepts to his delight. They attend the celebration feast in honor of the victory against Selia where the couple address Ani's friends and fellow animal workers, who have been newly made into a hundred-band. Ani wants it to be called the Forest-band, but Geric lobbies for the yellow-band in honor of his fiancée's exotic yellow hair.
He and Ani are soon married in the Thumbprint of the Gods, a square in Bayern's capital city where nobles and commoners alike can attend the wedding.
- "What do you mean, riding away on my horse? You can't... you can't just do that."
- "Well I'll have none of that, some brazen bird speaking harsh words to his mistress. After all, I'm a gentleman."
- "I'm sorry, my lady, but I failed to force an apology out of the offending goose."
- "I, Geric-Sinath of Gerhard, declare right now that you're beautiful and you're perfect and I'll slay any man who tries to take you from my side. Goose girl, may I kiss you?"
- Before she knew of the consequences, Ani tried to teach Geric the wind's language. However, he just didn't have the knack.
- Shannon Hale used elements of her own relationship with her husband when writing Ani and Geric's relationship.
- In the Bayern Justice League, a tactic Shannon Hale used for character development, Geric is considered to be Green Lantern.