Depuis le début de la saison 6 de Once Upon a Time, on nous annonçait une grande bataille pour Emma (Jennifer Morrison). Après 22 épisodes, elle a enfin eu lieu ! Suite au mariage musical de Emma et Hook (Colin O'Donoghue) dans l'épisode 20, la Fée Noire (Jaime Murray) lançait une nouvelle malédiction à Storybrooke.
Au début de l'épisode 21 de la saison 6 de Once Upon a Time, suite à la malédiction de la Fée Noire, c'est une Emma sans souvenirs que l'on retrouve. La Fée/Fiona a réécrit l'histoire : elle dirige désormais Storybrooke et fait passer Henry (Jared Gilmore) pour son fils tandis qu'Emma est internée dans un asile. De leurs côté, Snow (Ginnifer Goodwin), Charming (Josh Dallas), Hook et Regina (Lana Parrilla) sont de retour dans la Forêt Enchantée et comprennent que la Fée Noir veut détruire les croyances d'Emma en la forçant à détruire le livre d'Henry.
Alors qu'Henry tente de lui rappeler son passé, Emma décide de détruire le livre et de quitter la ville mais va très vite se rendre compte de son erreur. Tandis qu'Henry est sur le point d'affronter la Fée Noire seul, Emma revient en ville pour l'aider. Elle n'aura finalement pas à tuer Fiona puisque c'est Rumple (Robert Carlyle) qui s'en charge. Mais la bataille est loin d'être terminée puisqu'Emma doit tout de même combattre Gideon (Giles Matthey) qui finit par... la tuer. Mais non, pas de fin tragique pour le personnage de Jennifer Morrison puisqu'Henry sauve Emma avec un baiser. Tout est bien qui finit bien pour les personnages qui se retrouvent pour vivre heureux dans la Forêt Enchantée.
Puisqu'on aura le droit à une saison 7, c'est une courte scène qui introduit la suite avec Henry version adulte incarné par Andrew J. West (vu dans The Walking Dead). Ce dernier reçoit la visite d'une petite fille qui a besoin de son aide : c'est sa fille et sa famille a besoin de lui.