After six seasons of Once Upon a Time, many of the characters finally got their happy ending. Sunday's season finale marks the final chapter for many of the original cast members as series regulars. After Jennifer Morrison and Rebecca Mader recently announced they were leaving the show, it was revealed that Ginnifer Goodwin, Josh Dallas, Jared Gilmore, and Emilie de Ravin wouldn't be returning as series regulars either. So in the two-hour season finale, fans got to see the final battle of good and evil that everyone had been waiting to see.
The battle was between the Black Fairy and Emma, although, Gideon was fighting for Black Fairy since she controlled his heart. Even after Gold killed Fiona (Nice Mother's Day gift), she still had control of Gideon. Since Emma refused to kill an innocent person, she laid down her sword and let Gideon strike her down. Although, true love's kiss saved the day once again as Emma woke up after Henry kissed her. When Henry opened up the book, the story finished before his eyes as "When Good and Evil both did the right thing, faith was restored. The final battle was won." appeared on the final page.
It was the happy ending they were all hoping for, but it was just the beginning for some other characters. Alison Fernandez (Jane the Virgin) and Andrew J. West (Walking Dead) made their first appearance on the show. Alison plays Lucy and Andrew plays a grown-up Henry. At the end of the episode, Lucy showed up at Henry's apartment and informed him that she's his daughter. So it will be interesting to see the new stories unfold in season seven.