The episode opens on a scene during the First Ogres War, where a young soldier attempts to flee instead of fight. He is stopped by Beowulf (Torstein Bjørklund), who has his sword, Hrunting, in hand. Inspired, they both head into battle, though the young soldier doesn't last long. Beowulf eventually finds that the battle is just down to him and one last ogre, until the ogre is killed by Rumplestiltskin (Robert Carlyle), who actually destroyed the entire ogre army – dagger in hand. Later, Rumple's son Baelfire is disappointed to learn that his father used dark magic to win the war.
In present day Storybrooke, Archie finds Hook (Colin O'Donoghue) drinking rum at the bar in Granny's. Hook isn't sure whether he should tell Emma that he once killed David's father, especially if he's going to ask her to marry him, but he doesn't divulge the dark details to Archie.
Rumple, Belle (Emilie de Ravin), and Mother Superior are searching for Gideon in the woods nearby with little to no success. It's Rumple's belief that Gideon is trying to obtain Emma's sword, which may be the only sword with which he can destroy her. Sure enough, Rumple finds Gideon (Giles Matthey) stealing the sword from the sheriff's department, and he magically knocks out his son.
Gideon awakens, tied to a chair in the clock tower. Rumple tells his son that you can never be a hero once you turn to dark magic, which is exactly what happened to him when he used dark magic to win the First Ogres War. Gideon explains how the Black Fairy taunted him and mentally tortured him when he was younger. Rumple tries to trick Gideon into drinking memory-erasing tea, but the plan goes south when Gideon catches on and steals Rumple's dagger instead.
Under Gideon's command, Rumple explains that the sword can only be fixed with the blood of the one who forged it. Rumple admits that the Blue Fairy – Gideon's Fairy Godmother – is the one who made the sword. When Rumple tries to stop Gideon, he commands the Dark One "not to try to stop (him)." When Gideon freezes the Blue Fairy to take her magic, Rumple appears to do it for him, refusing to let his son commit such an evil act. The sword is re-forged, and Gideon returns the dagger to his father.
In another flashback, the villagers ask Rumple to help them defeat Grendel. Baelfire convinces his father that they can help the village without dark magic to redeem his name. Before they get to Grendel's cave, Rumple is already tempted to use dark magic, so he gives the dagger to Baelfire, allowing his son to control him.
They enter the cave, but instead, they find Beowulf, who has tricked them, aiming to frame Rumple for the death of some of the villagers. He believes that they could have won the First Ogres War without dark magic and wants the villagers to turn on Rumple. Baelfire later tries to stop Beowulf himself, summoning Rumple just in time. Rumple doesn't want to kill Beowulf, preferring to relocate to a new village, but Baelfire forces him to do the deed.
Baelfire is convinced that he and his father need dark magic to protect themselves, so later, Rumple tricks his son into drinking a memory potion that makes him forget everything that happened since they were in the cave, unwilling to let his son embrace such darkness. With his memory of how Beowulf died erased, Baelfire turns on his father again, upon discovering that that he killed him.
Again in Storybrooke, Zelena (Rebecca Mader) returns home to find Robin (Sean Maguire) at her kitchen table. He wants to leave town, but he doesn't know how to break the border's protection spell. Zelena constantly has a target on her back, and he knows it. Convinced, she agrees to skip town with him.
Regina finds Zelena and Robin at the border, after discovering that Robin stole from her. He feels that he will never be able to live up to the legacy of the Robin who lived there before him and wants to leave. Unfortunately for him, the anti-magic potion he stole doesn't work, so he's stuck in Storybrooke anyway. Regina offers to help Robin break the protection spell, if he is truly convinced that he should go.
As the episode draws to a close, Hook visits Emma at her home. Before he can tell her the truth about his involvement in her grandfather's death, she admits that she accidentally found her engagement ring and tells him "her answer is 'yes.'" Hook gets on one knee and proposes to her, keeping his secret inside.
Finally, Zelena apologizes to Regina, and the two get on good terms. They quickly discover that the Evil Queen – who had been turned into a snake – is missing. The episode ends when the snake finds Robin and bites him, using a bit of the leftover anti-magic potion on his skin to turn back into the Evil Queen.