菲奧娜將書的灰燼帶給亨利看,又告訴亨利說艾瑪要去波士頓了。亨利不相信她的話,堅信艾瑪不會失去信仰。
亞歷山德拉從豆莖上掉了下來,接著豆莖翻倒,白馬也摔了下來。白雪感覺到白馬王子出事了,于是和茉莉一起尋找。她們找到了亞歷山德拉,讓亞歷山德拉帶著魔豆先去救亨利和艾瑪。她們繼續尋找白馬。
亨利找到了艾瑪,試圖說服她留下。艾瑪說她來到童話鎮就是錯誤的,看看亨利受傷的胳臂就知道了。
為了不再讓亨利受傷害,艾瑪驅車離開童話鎮回到了波士頓。回到久違的那間公寓,艾瑪翻看著亨利畫給她的一本小冊子,上面記錄了她到童話鎮后發生的一切。艾瑪若有所思地翻看著。
因為艾瑪不再相信,魔豆也失去了作用。白雪找到了摔暈了的亨利,用吻喚醒了他。
童話鎮里,亨利找到了朗普。朗普由于黑仙子將他和貝兒分開,對黑仙子已經不再信任。亨利和朗普決定聯手。朗普想找出黑仙子的真正目的。亨利從朗普那兒得到了兩樣寶貝,用它們傳訊息給魔法森林中的家人們,盡管艾瑪不在,他也要對付黑仙子。
亨利持劍到市政廳找黑仙子去算賬,這時,艾瑪也來了,她告訴亨利她看到亨利畫的那個小冊子,于是回來了。艾瑪的回歸,便魔法森林中正在毀滅的世界保住了。
朗普也找到了貝兒,貝兒由于黑仙子的詛咒一直躲著他。由于艾瑪的回歸,黑仙子為了贏最后一戰,到朗普的店里來尋找仙子魔杖。朗普不在,吉迪恩將魔杖交給了她。這時,朗普回來了。黑仙子想再次說服朗普加入她的陣營,朗普表示不再相信她了。
黑仙子繼續勸說,甚至說如果她贏得了最后一戰,將擁有無限魔法,這時,甚至可以讓朗普死去的大兒子起死回生。朗普裝作相信了,在倆人擁抱時,他拿回了魔杖。但黑仙子說她已命令吉迪恩去消滅艾瑪,她死了這事也依然會發生。
朗普用魔杖消滅了黑仙子。于是,她施加的所有詛咒都要消失了。艾瑪也記起了所有的事情。貝兒也想起了所有事,回來找朗普。
吉迪恩持劍攔住了艾瑪。亨利在吉迪恩背后用滅水器砸傷了吉迪恩,和艾瑪跑掉了。他們知道朗普在尋找吉迪恩的心,黑仙子藏起來并控制著吉迪恩的那顆心。
白雪夫婦和亞歷山德拉等家人都回到了童話鎮,他們圍繞著艾瑪和亨利,艾瑪感覺自己獲得了無限力量。
大家知道,最后一戰如果吉迪恩殺掉了艾瑪,那么光明將被毀滅,可如果艾瑪殺掉了吉迪恩,艾瑪也將被黑化。這是黑仙子留下的陷阱。最好的辦法只有一個,就是盡量拖住吉迪恩,等朗普找回他的心臟。
朗普在黑暗隧道里尋找著,總算被他找到了。這時,朗普的黑暗面出現了,告訴他只要讓吉迪恩殺了艾瑪,他就會成為黑暗王國最大的權力者。朗普沒有聽從,他對著吉迪恩的心臟說不要殺艾瑪,可心臟被黑仙子施加了魔咒,他的話沒有發揮作用。
吉迪恩和艾瑪激烈地戰斗英雄著,艾瑪一直在試圖說服吉迪恩,最后,她決定用行動。她丟下了劍,任吉迪恩刺向自己的心臟,艾瑪中劍倒地,家人悲傷地圍在她的身旁。亨利吻了艾瑪,艾瑪又起死回生。
隧道里,吉迪恩已嬰兒的模樣再次回到朗普和貝兒身旁。一家三口幸福地擁抱著。
那本亨利的童話書神奇地出現了,原來空白的尾頁上出現了一行新的字:當善良和邪惡都做了正確的選擇,信念就會被重塑。
艾瑪贏得了最后一戰。世界上所有愛的人還可以繼續相愛,故事雖然結束了,但幸福沒有結束。
多年以后,在西雅圖,成年后的亨利家門被敲響了,一個小女孩子站在門口,告訴他她是他的女兒,他的家人們需要他。