A year ago in the Enchanted Forest, Belle and Neal try to bring back Rumpelstiltskin.
They run into magical Lumiere who points them towards the original vault of the Dark One. When they get there they realize the Wicked Witch has tricked them. Neal opens the vault anyway and Rumpelstiltskin is returned but must make a choice between his dagger and Neal.
Rumpel chooses Neal. They must share a body to survive. The Wicked Witch gets the dagger and can control Rumpelstiltskin.
Back in present day Storybrooke on Once Upon a Time Season 3 Episode 15, Neal stumbles back into town. While searching for Rumpelstiltskin, he and Emma realize that Neal is sharing the same body as his father and he asks Emma to use her magic to separate them. When she does, Neal can't survive. He tells Emma and Rumpel that he loves them.
He tells Emma he wants her and Henry to be happy and he thanks Rumpel for showing him what true sacrifice is.
Rumpelstiltskin tells Emma that Zelena is the witch. Then the witch uses the dagger to control Rumpel and forces him back into his cage.
When Regina and Robin Hood look for the witch, she sees his lion tattoo and realizes that he is the man that Tinkerbell said was her true love. She runs off, shocked by the revelation.
Watch Once Upon a Time online here at TV Fanatic.