Jared S. Gilmore, Jennifer Morrison Jared S. Gilmore, Jennifer Morrison

[Warning: This story contains major spoilers from Once Upon a Time's season finale. Read at your own risk!]

Once Upon a Time's season finale was a twisty, timey-wimey adventure that provided some very sweet and heartwarming moments, but it also destroyed at least one happy ending.

In Storybrooke, Snow (Ginnifer Goodwin) and Charming (Josh Dallas) throw a party to announce the name of their new baby at Granny's, where they retell the story of how they met and fell in love. But when Hook (Colin O'Donoghue) accidentally spills that Emma (Jennifer Morrison) wants to go back to New York, it causes a stir and Emma leaves. Hook goes after her, but not before Henry (Jared Gilmore) gives him the storybook in hopes that it will remind Emma of where she belongs.

Lightning Round 13: Once Upon a Time bosses answer your burning questions

Emma wants to go back to New York because she thinks of it as home and doesn't feel like she fits into the world of fairy tales. It was only fitting then that the finale began with a flashback to a younger Emma living in a group home and being sad that she didn't have a home of her own. We also saw a flashback to her time with Neal (Michael Raymond-James) in Portland, where he tells her that she'll know what home is when she finds herself missing a particular place. So basically, the finale, "There's No Place Like Home," is all about getting home.

Unfortunately, Zelena's (Rebecca Mader) reactivated time portal gets in the way of that. But don't worry — no one discovers that Rumple (Robert Carlyle) killed the Wicked Witch because he changes the security tape. When Emma and Hook go to investigate, they're pulled into the portal and travel back to the Enchanted Forest that was. The two set out to find a way home, but accidentally interrupt Snow White and Prince Charming's first meeting, effectively changing the future.

Emma and Hook find Rumple, who immediately tries to kill Hook. But Emma reveals that they're from the future — the future which they may have just changed. When they try to prove the truth to Rumple, the storybook is now blank, so they must track down Snow and make sure she meets Charming. In order to do so, Emma must seduce the Hook from the past, so the current Hook can trick Snow into stealing Charming's family ring.

Add new fall shows to your Watchlist!

To make sure the plan works, Emma and Hook go to the ball under a glamor spell so no one will recognize them. Regina (Lana Parrilla) arrives at the ball just as Charming finds Snow White stealing the ring, seemingly setting everything back on course. Unfortunately, Snow dropped the ring on the way out, so Emma attempts to go after her, but she's caught by Regina.

When Charming hunts down Snow, as in their original tale, Hook interrupts and enlists their help to rescue his princess — aka Emma, who had given the fake name Princess Leia at the ball — in return for Charming's ring. Emma escapes on her own, but also sets a mystery woman (Christie Laing) free in the process. Meanwhile, Snow has gone after Regina with plans to use the fairy dust on her, but Regina stops her and has Snow arrested and executed. Fortunately, Snow used the fairy dust to turn into a bug so she could escape death, and the Blue Fairy (Keegan Connor Tracy) then reverts her back to normal.

Just when it seems like Snow White and Charming are warming up to each other, Snow disappears with plans to head to the harbor via the troll bridge, which is really where their relationship was cemented. But without the fairy dust, it seems Charming is as good as dead, but Snow fakes that she has it to save him. Watching her parents fall in love makes Emma realize where her home truly is.

Because Emma and Hook have changed the future by freeing the mystery woman, they have to take her back to Storybrooke with them. But they may not be able to return because Rumple is unable to open the portal again and decides to lock them in his vault. Emma's powers are reactivated when she admits that Storybrooke is her home and she opens the portal. When Rumple momentarily stops her to get information on Neal, it appears that an urn goes back to Storybrooke with them.

Fall TV Scorecard: Find out what's renewed and what's canceled

Once back in Storybrooke, Emma announces that they're staying in town and tells her parents that she loves them. After Emma admits that she was Princess Leia, Charming and Snow then announce that their new baby boy is named Prince Neal. Emma thanks Hook for coming to find her in New York, and he reveals that he outran the curse and traded the Jolly Roger for a magic bean so he could find Emma, who then kisses him.

Belle (Emilie de Ravin) and Rumple then get married during a montage showing everyone's seemingly happy endings. Of course, not everything can turn out perfectly: The mystery woman is Maid Marion, Robin Hood's dead wife, which takes away Regina's happy ending. Pissed at Emma, Regina says she better hope she didn't bring anything else back. At which point we see the urn spill out its contents, forming into Elsa from Frozen.

What did you think of the season finale? Will Regina now set her sights on destroying Emma? And who should play Elsa? Hit the comments!