Once Upon a Time concluded the fairy tale after seven seasons on Friday with its series finale. Even though there were a few tears shed along the road, the fairy-tale series’ conclusion felt like the ideal way to go out. We get a brief glimpse of where all the main characters end up and what their happy endings entail after a few fond reunions and one tragic death.
For a detailed summary of the series conclusion, continue reading below.
Once Upon a Time Season 7 Episode Summaries
Episode 1 - Hyperion Heights
In a flashback, an 18-year-old Henry (Andrew J. West) bids Regina (Lana Parrilla) farewell as he leaves Storybrooke searching for new realms and his own tale. After a series of incidents nearly resulting in their arrest at a ball, Henry encounters Cinderella’s (Jessy Schram) carriage many years later in the New Enchanted Forest. This gives her a chance for a fresh start in Storybrooke because he will be returning through a portal that night.
Henry stays behind after discovering a glass slipper placed for him at their meeting place. An elder Henry meets up with his daughter Lucy (Alison Fernandez), whom he cannot remember because of a curse, in present-day Seattle. Lucy takes him to her neighborhood of Hyperion Heights, hoping to remove the curse. He meets Jacinda (Dania Ramirez), Lucy’s unfortunate single mother. She has a tense relationship with her strong stepmother Victoria (Gabrielle Anwar).
Episode 2 - A Pirate's Life
In a flashback set in Storybrooke, Emma is there while Hook trains Henry, who is 18 years old. She admits to Hook’s concern that Henry will soon depart alone. Hook comforts her by demonstrating a bottle Henry can use to contact them in case of trouble. Years later, as Lady Tremaine prepares to arrest Henry, he uses the bottle to ask for help from Emma (Jennifer Morrison), Hook (Colin O’Donoghue), and Regina, unintentionally calling in Wish Realm Hook.
Victoria employs Rogers and Weaver (Robert Carlyle) in the present to evict Henry from the area. Rogers opposes Weaver’s strategies and supports Henry instead. In the end, Rogers, Henry, and Roni (Lana Parrilla) team up to fight Victoria. Jacinda, meantime, is forced to find a different means to attend Lucy’s ballet performance after Victoria makes things challenging for her.
Episode 3 - The Garden of Forking Paths
In a flashback, Cinderella finds Henry nowhere to be seen when she gets to the location in the woodland where she is meant to meet him. After that, she runs upon Princess Tiana (Mekia Cox), who enlists her in the fight against Lady Tremaine (Gabrielle Anwar). She leaves Henry one of her glass slippers to find. Soon after, Henry, Regina, and Hook go to their encampment and join the action.
Later, Cinderella enters Tremaine’s castle secretly. There, Tremaine explains that she has preserved her nearly-deceased daughter Anastasia since her “death” at 14 and that she needs a pure heart to bring her back to life. Since Henry has the most sincere of hearts, she assigns Cinderella the duty of taking his.
While Lucy leads a doubting Henry on a journey beneath the garden lot to uncover evidence of everyone’s fairytale origins, Jacinda fights Victoria for control of Lucy’s cherished community garden.
Meanwhile, Henry, Roni, and Rogers triumph against Victoria for the first time. Rogers was horrified to see that Weaver had released the man after catching him, so they might use him as a connection later. Victoria has been holding a witch captive at the top of Belfrey Towers, and it then becomes apparent that she is not cursed.
Episode 4 - Beauty
Rumple (Robert Carlyle) and Belle (Emilie de Ravin) decide to leave Storybrooke and see the globe in a flashback to Gideon’s (Giles Matthey) first birthday. Years later, Rumple confesses to Belle his desire to cease becoming the Dark One to revert to mortal life and spend the rest of his days with her. They look at various solutions to expel his Darkness throughout time.
When Gideon is 18 years old, Belle finds a prophecy that takes them to the Edge of Realms, where they have to wait until the sun sets at its brightest before being shown the route Rumple must follow to defeat the Darkness.
As they wait for the event, they construct a home there. Aged Belle eventually acknowledges that she was the “sun” of the prophecy and that her passing would signal his adventure’s beginning. When Belle passes away, Rumple leaves to look for a Guardian who can remove the Darkness from him so he can one day be with Belle again.
When Tilly (Rose Alice Reynolds), who is actually Alice, stops taking the pills Victoria gave her, she starts to recover from the curse. She also successfully persuades Weaver to recall who he really is after several failed efforts.
Episode 5 - Greenbacks
In flashbacks, Dr. Facilier (Daniel Francis) directs Tiana to Robert (Mr. Gold) when looking for a prince to save her realm. She quickly discovers that Robert was recruited by Facilier to deprive her of a magical ruby in exchange for reuniting him with his sweetheart, who had been transformed into a frog.
With Jacinda’s assistance, Sabine (Mekia Cox) chooses to operate a pop-up beignet store out of Mr. Cluck’s (Daniel Dae Kim) in the present. There is tension between the two roommates after Victoria sends someone to set the place on fire.
At the police station, Rogers meets a detainee who he believes is related to the missing girl he’s been looking for, Eloise Gardener (Emma Booth). Roni looks into Ivy’s desire to assist Henry in the interim. Roni discovers a photograph of herself and a young Henry shot in Storybrooke when Ivy brings her to the top of the towers. Later it is found that Ivy (Adelaide Kane) isn’t cursed either and that she has her own interactions with the witch that her mother is ignorant of.
Episode 6 - Wake Up Call
In a flashback, Regina encounters Drizella (Adelaide Kane) as she searches for the magic to help her escape her mother. Regina starts training her after saying she was genuinely born with magic. The two women understand that Lady Tremaine is banking on utilizing Drizella’s heart to renew Anastasia (Yael Yurman) after Regina crosses paths with Rumple, who informs her that Lady Tremaine must have been aware of the magic lessons. After slaying the prince and blackening her heart, Drizella swears to enact Regina’s curse on her mother to make her suffer.
Roni is unsure what to believe about the enigmatic photo in the present, which is made more difficult by recently learned details about “Regina Mills” that Lucy persuaded her to look into. When Roni is given the essence of the plant that the witch has grown using the elements that Drizella has gathered, Roni awakens and remembers her existence as Regina. After admitting to casting the spell, Drizella threatens Regina with harm to her family if she doesn’t keep Henry and Jacinda away by reminding her of a particular clause added to the curse.
Episode 7 - Eloise Gardener
A little while after the Charmings prevented Regina from casting her curse, Hook grants her passage on the Jolly Roger in a flashback in the Wish Realm in exchange for directing him to potent magic guarded by a witch. Instead of the witch, Rapunzel (Gabrielle Anwar) is there when he gets there. She gives him the task of taking a golden bloom out of the witch’s garden. They spend the night together when he brings it back to help her.
The baby they shared that night is left behind by Gothel (Emma Booth) so that she can leave the tower the following morning when it is discovered that Rapunzel is truly Gothel. Given that his daughter cannot depart due to the magic cast by the building, Hook decides to stay with her and gives Smee (Chris Gauthier) the Jolly Roger. He gives her the name Alice (Rose Reynolds) after his mother.
Rogers is searching for Eloise frantically with the aid of Henry and Tilly. Later, Tilly tells him that Eloise has passed away. Still, it turns out that Weaver planted the information to distract him from the investigation. In his mistaken belief that Gothel is Eloise, Rogers frees her from Victoria, who is then arrested for kidnapping.
Episode 8 - Pretty in Blue
In flashbacks, Hook and Alice are reunited, and she says their curse has been broken. Hook is harmed during their attempt to embrace, and Alice flees in terror. She is pursued to Wonderland by Henry and Cinderella. When Cinderella comes across Alice, she tells her that she has previously met Cinderella’s mother and has also been affected by the Poisoned Heart Curse. Alice and Cinderella intervene to free Henry from a curse cast by Drizella in Wonderland. Cinderella and Henry then have their first kiss.
Jacinda touches Nick (Nathan Parsons) in the present because a curse has made her believe that he is Lucy’s father. Henry is shocked when he decides to assist her in getting back custody of Lucy, and Lucy urges Henry to stand up for Jacinda. Gothel and Drizella intend to revive.
Anastasia discovers, however, that her body is not in the casket. Regina tells Henry she’s leaving for San Francisco to meet with someone Victoria drove out of town when she encounters Weaver, who declines to affirm that he has awakened from the curse. He consents to travel with her.
Episode 9 - One Little Tear
Victoria bargains with Weaver to get out of jail and wake Anastasia. Rapunzel is imprisoned in a tower after stealing from Mother Gothel’s garden in the past to save her family. Rapunzel escapes from her captivity using her hair after six years, only to discover that her husband Marcus (Matty Finochio) has wed Cecilia (Cindy Luna) and welcomed Ella (Jessy Schram) as a stepdaughter. Cecilia flees after Gothel uses a Wonderland mushroom that she lures Rapunzel into eating to poison Cecilia’s heart.
One day, Ella and Anastasia slip through some thin ice. Still, Rapunzel is shocked to see that Marcus can only save Ella. Gothel, who Rapunzel asks for assistance, magically seals Anastasia’s final breath in exchange for keeping her in the tower. Rapunzel, on the other hand, charms Gothel into getting stuck in her own tower until someone from her bloodline steps in to take her place.
Victoria inexplicably offers Jacinda complete custody of Lucy in the present, claiming to have changed. Lucy is persuaded to give up hope in happy endings when Victoria brings out the Once Upon a Time book and recounts her sad life as Rapunzel. Victoria uses the tear Lucy sheds to rouse Anastasia up as Lucy falls unconscious.
Episode 10 - The Eighth Witch
Drizella appears to offer a prophecy concerning a curse just as baby Lucy is delivered. Drizella can be made to turn into stone by the heroes. When Gothel and her witchy coven show up eight years later, everyone is enjoying Lucy’s birthday when they convince Drizella to join them when she is finally set free. As the curse approaches, Regina leaves to ask Zelena (Rebecca Mader) for assistance. Regina is compelled to cast Drizella’s curse to save Henry’s life after Gothel confesses that the witches poisoned him later on when the heroes confront the witches.
In the present, Regina has discovered a cursed Kelly, once known as Zelena, in San Francisco. Zelena receives her memories back from Regina, and the two return to Seattle even though they know that breaking the curse to save Lucy will harm Henry.
Anastasia is put to the test to determine if she is the Guardian. When the girl is delivered to Gothel, she also wants Anastasia. She breaks off her connection with Drizella because she sees Anastasia as more beneficial to her coven. She is informed by Gothel that they must locate their other witches.
Episode 11 - Secret Garden
A flashback shows an 18-year-old Robin (Sean Maguire) surreptitiously practicing magic against her mother’s objections. Zelena finds Robin in the New Enchanted Forest after she leaves Storybrooke after attempting a spell that takes her to Gothel. Robin is eager to work as an apprentice for the formidable witch. Still, she soon learns that Gothel just needs her as a sacrifice for a resurrection amulet that would bring Madame Leota (Jennifer Tilly) back to life.
The resurrection amulet is sought after by Regina and Zelena in the present to utilize it for healing Lucy. However, Tremaine obtains the charm and gives it to Gothel, not realizing that Gothel plans to sacrifice Drizella. Tremaine resolves to make the ultimate sacrifice to preserve her daughter as the amulet’s magic starts to claim Drizella’s life. She passes away just as Lucy begins to awaken. A doctor who learns about Lucy’s real parentage is poisoned to death by an enigmatic individual, revealing that there is a murderer on the loose in Hyperion Heights.
Episode 12 - A Taste of the Heights
Facilier appears to alert Tiana of a threat to her kingdom on the day of her coronation in a flashback, prompting her to go in search of a giant alligator. Even though the two don’t get along, they decide to look for it together after she meets Prince Naveen (Jeff Pierre) at the accident scene. Tiana can kill the alligator that attacks them on a lake, but Naveen sustains serious injuries. Tiana convinces Facilier to revive Naveen when he returns to retrieve a necklace from the beast, but only on the previously unknown condition that the prince is made his slave until further notice.
Sabine is eager to take part in a food truck festival in the present. Still, she cannot do so due to an anonymous report to the police. She charges Drew (Jeff Pierre), a former classmate now a competitor food truck owner, with sabotage. But it turns out Drew is being directed to approach her by an unknown investor named Samdi for his own gain. Their past can be traced back to the Enchanted Forest, and Regina discovers that Facilier isn’t actually cursed. While Rogers and Weaver learn that the local killer specifically targets witches, Lucy learns disturbing details about the present curse.
Episode 13 - Knightfall
In flashbacks, a young Alice has been having terrifying dreams of Gothel assaulting her and Hook in the tower. Hook swears to help her get out and asks for assistance from the Wish Realm’s Rumplestiltskin. Rumple instructs him to ask Captain Ahab (Chad Rook) for a magical fish hook. Ahab loses it to him after a die roll, but Hook agrees to a pistol battle when Ahab returns to make fun of him for being a former pirate. Hook and Alice are brandished and cursed by Gothel, who poisoned the bullet that struck him when he returned to the tower.
Eloise is questioned by Rogers and Weaver about her cult in the present. Still, she is just concerned about playing tricks on Rogers. Going through a psychotic episode, Tilly attempts valiantly to persuade the investigators to recognize Eloise for what she truly is. When they check on Hilda (Chilton Crane) in the hospital because they think Eloise was trying to mislead them about the case, they discover that she is dead and that Tilly is in the room with a scalpel.
Episode 14 - The Girl in the Tower
A troll soon emerges and aids Alice in escaping the tower after she makes a birthday wish to do so in a flashback. Years later, Robin, newly arrived in the New Enchanted Forest, discovers Alice eavesdropping on the resistance group. Robin wants to uphold her father’s tradition by pursuing Alice’s troll, who has been razing villages recently. Still, Alice follows her to defend it.
Rogers, Henry, and Tilly are searching for proof that Tilly was somewhere else during the baker’s murder to clear her name in the present. Tilly becomes frustrated when she retraces her travels when she learns that no one can recall seeing her at the locations she visited. As Lucy breaks into Facilier’s suite to dig for hints at what he is looking for at Hyperion Heights, Regina invites him out on a date.
Episode 15 - Sisterhood
In a flashback, Drizella is enlisted by Gothel to vie for one of the two openings in her coven. Drizella and Gretel (Karley Scott Collins) form a partnership and pledge to support one another while completing the course. Still, it turns out that the actual test was that they would have to kill each other to succeed.
Drizella is attacked in the present by the local Candy Killer (Nathan Parsons). Facilier gives her a chance to leave and return to her own realm, but it would cost Anastasia her life. Drizella initially seduces Anastasia by pretending to want to reestablish their sisterhood before bringing her to Facilier to carry out the procedure. When Anastasia suddenly awakens, she is forced to pick between Gothel and Drizella and ultimately decides to choose her sister.
After that, the two depart Hyperion Heights and head back to the New Enchanted Forest to begin their new life together. Henry, Rogers, and Nick go on a lads’ night out that Lucy arranges, and it turns out Nick is the Candy Killer.
Episode 16 - Breadcrumbs
Henry says in a flashback that he wants to find his own tale because he feels unworthy of Ella. When Jack tells Hook he intends to pop the question with a unique ring, like his grandparents’, Hook recommends that they grab one from Davy Jones’ locker and sneak onboard the Jolly Roger to take it from Blackbeard. But it turns out that Hook staged the entire thing so that Henry would believe he had taken part in a grand adventure. A short while later, Henry eventually asks Ella to marry him nevertheless.
The Candy Killer, who the police conclude is a man who believes he is the Hansel (Nicholas Zimmer) of the story, is identified by Weaver before Henry can leave the crime scene. In the present, Henry gets a job interview in New York. When Henry’s car develops a flat tire on the way to the airport, Nick offers to drive him to the airport. This leads to Henry being picked up by Nick, who then confirms Henry’s suspicions that he is Hansel and the Candy Killer. Zelena discovers that she is the murderer’s newest victim.
Episode 17 - Chosen
In a flashback, Zelena is shown disliking the Blind Witch, who has landed in Oz and is in the custody of Hansel and Gretel. Zelena is magically weakened by the witch and passes out in the wilderness after refusing to assist the children. Ivo (Dan Payne), a blind man who also happens to be the father of Hansel and Gretel, takes her in. When Zelena decides to go back for the kids, she discovers that they’ve already made their getaway and told their dad about meeting her. Zelena passionately burns Hansel when the family won’t give her another chance.
Jack (Cassidy Freeman) explains everything about their fairytale past to Henry in the present, but Henry is still unconvinced. Despite being knocked out by Zelena, Jack kidnaps Chad (Kip Pardue) to draw her in so he may exact retribution. Chad reaffirms his engagement to Zelena, and the two decide to relocate back to San Francisco together. Still, Zelena has to reveal her real name to him and makes some insinuations about her sinister background. Meanwhile, Facilier summons magic for a voodoo doll he uses to kill an imprisoned Jack and defeat his rivals by using Naveen, who is not genuinely afflicted
Episode 18 - The Guardian
In the past, Facilier challenges Mr. Gold to get rid of the Dagger by finding the Guardian when he is still mourning the loss of Belle. When Gold (Robert Carlyle) finds Alice and realizes she is the one he is looking for, he tests the hypothesis on Facilier by removing his heart. Still, Rumple changes his mind and refuses to give Alice his power so she can be happy with Robin and not have to bear the burden he carries.
Weaver believes Samdi (Daniel Francis) stole the Dagger after Nick died, but Samdi insists he had nothing to do with its theft. To find the Dagger and betray Roni, Weaver uses the magic required to save Henry. This leads to Tilly, whose first date with Margot is derailed by the voices emanating from the Dagger. Henry reveals to a shocked Jacinda the blood test results that proved he is Lucy’s father and learns that Nick was speaking the truth about them.
Episode 19 - Flower Child
Gothel, a young tree nymph, longs to interact with people in a flashback. She explores a house despite her nymph family’s warnings not to and meets some women who seem welcoming of her powers and invite her to a party. The girls apparently stole her key to infiltrate the nymphs’ grove and obliterate everyone and everything there to humiliate her. Gothel embarks on a violent rampage as retaliation for the murder of her race, transforming her home world into the Land Without Magic.
Gothel reveals to Tilly that she is her mother in the present, and Tilly informs Rogers of this. They both visit Henry, who has already started to seriously wonder whether the tales in his book are true. Henry’s pre-course symptoms are cured by Lucy and Facilier, but the curse remains once her parents eventually kiss. Tilly is ultimately forced to join Gothel’s renewed coven after being blackmailed during Rogers and Tilly’s stakeout on Eloise. The sisterhood then restores the land with its magic.
Episode 20 - Is This Henry Mills?
Henry mulls over his next move in a flashback from his senior year of high school, telling Regina that he wants to look into colleges outside of Storybrooke. Despite having to lie about his life experiences, he gets into every college he applies to, making him hesitant to leave town.
Regina and Lucy work to stop Gothel’s plan to exterminate humanity in the present. Regina admits that the curse sent them back in time after numerous unsuccessful attempts to awaken Henry. A young Henry answers the phone when a doubting Henry calls the number provided on his adoption papers. It is revealed that the curse sent them back to the same period as the flashbacks; it is currently Henry’s graduation night.
Henry, now an adult, gives his younger self some advice, giving him the push he requires to feel comfortable leaving home. Henry offers Regina his true love’s kiss as he sees her being hurt by Gothel, breaking the curse cast over the entire neighborhood. With her father and Robin by her side, Alice musters the courage to defeat Gothel. When Weaver visits Facilier’s office, they engage in a confrontation that ends when Facilier is fatally shot by his Wish Realm counterpart.
Episode 21 - Homecoming
The Wish Realm’s Rumplestiltskin sends Jacinda and Lucy there and tries to coerce Henry into getting the Dark One’s blade for him, putting a stop to the celebrations over the lifting of the curse. To locate Jacinda and Lucy, Henry, Roni, Weaver, and Rogers travel via a portal to the Wish Realm. After crossing over, the group is divided, with Weaver and Rogers going to Rumple’s old shack and Henry and Roni being transported to the Dark Castle. In a snowglobe, Wish Rumple claims to have imprisoned Jacinda and Lucy.
To rescue them, a frantic Henry steals the Author’s pen from the Wish Realm, but Wish Rumple confesses that his true motivation was the pen rather than the Dagger. He then gives it to Wish Henry, eager to work with him to rework some stories in light of the loss of his mother and grandparents. He succeeds in wiping out the Guardian’s abilities. Henry, Weaver, and Rogers are subsequently dropped into the snow globe by Wish Rumple. As Wish Henry seeks retribution for their previous encounter, Roni is left behind.
Sabine helps Tilly and Margot (Tiera Skovbye) acquire a magic bean after regaining her confidence as the queen of her people when Tilly fears that her family is in danger. The two then admit they are stopping to seek assistance before traveling through the portal into Storybrooke to the Wish Realm.
Episode 22 - Leaving Storybrooke
When Alice and Robin arrive in Storybrooke, they run across Zelena in the past. Informing her that their family requires assistance, Robin discloses to her that she is her daughter from the future. Hook learns from Rumple in the snowglobe that his Wish Realm counterpart deprives him of his abilities and immortality. When Alice magically delivers Maui’s fish hook, everyone can escape.
Wish Henry, in the meantime, has Regina in custody and plans to combat her the following day. Then Wish Rumple goes to see Wish Henry and tells him about his scheme to lock up all the other characters in stories with doomed outcomes. Regina has a vision of Robin Hood when she is imprisoned. Black knights assault Henry as he arrives to save her, but Snow (Bailee Madison) and David (Josh Dallas) intervene to keep both of them. The others start to be drawn through the portals while Wish Henry and Regina square off and fight.
In the end, Regina can convince him to give up, closing the portals. Hook had seized Alice to save her, but their close encounter broke his heart. Then, in a final act of self-sacrifice, Wish Rumple and the Darkness are extinguished when Rumple takes out his own heart and gives it to Hook. Then, in the afterlife, he meets up with Belle again. The entire magical universe is subsequently brought inside the boundaries of Storybrooke after Regina decides to combine all the realms using a new curse. Later, the populace chooses to declare Regina the Good Queen of the United Realms.
Once Upon a Time Synopsis
The TV show depicts a brave new world in which fairy tales and the present are poised to meet.
Or at least that’s what everyone was made to believe. They all lived happily ever after. Emma Swan is capable of caring for herself. She is a 28-year-old bail bondswoman who had lived alone ever since her parents left her when she was a kid. But all starts to change when the son she abandoned years ago discovers her.
At age 10, Henry is in severe need of Emma’s assistance. He thinks Emma is Snow White’s and Prince Charming’s missing daughter and originates from another dimension. His book of fairy stories claims that they sent her away to shield her from the Evil Queen’s curse, which brought the world of fairy tales into our own and locked it in time for all eternity.
When Emma brings Henry back to Storybrooke, she finds herself pulled to this odd youngster and his peculiar New England village despite her disbelief in all he says. She resolves to stay for a time out of concern for Henry but quickly feels that Storybrooke is not what it first appears to be. It is where magic has been forgotten but is still incredibly present and where characters from fairy tales are still there even though they are unaware of their former selves.
The great struggle for the survival of all worlds is about to begin. Still, Emma will need to accept her fate and put up a brave fight if she wants to help humanity.
Once Upon a Time Quick Facts
- an American fantasy adventure drama TV show
- aired for seven seasons, with a total of 156 episodes
- premiered on ABC on October 23, 2011
- concluded on May 18, 2018
- under the creation of Lost and Tron: Legacy writers Adam Horowitz a and Edward Kitsis