
Cast of Once Upon a Time (TV Series) – Full Cast List by Season
The cast of Once Upon a Time brought fairy tale characters to life across seven seasons on ABC, establishing the series as one of the most ambitious television adaptations of classic stories. From its 2011 premiere through its 2018 finale, the show assembled a core ensemble alongside numerous recurring and guest performers who portrayed characters living dual lives between enchanted realms and the fictional town of Storybrooke.
Led by actors such as Jennifer Morrison, Lana Parrilla, and Robert Carlyle, the series featured over one hundred credited performers throughout its run. The casting approach deliberately paired established television actors with stage-trained performers, creating an ensemble that could balance the show’s mix of family drama, dark fantasy, and mythological storytelling.
This guide documents the key cast members, tracks the significant changes across seasons, and provides context for how the ensemble evolved during the show’s seven-year run on network television.
Who Are the Main Cast Members of Once Upon a Time?
Once Upon a Time operated with a rotating core ensemble throughout its seven-season run. The original main cast featured nine performers in season 1, with the group expanding and contracting as storylines demanded. Several actors remained with the series throughout its entire run, while others departed at various points due to character deaths or narrative conclusions. The Wikipedia list of Once Upon a Time characters provides comprehensive documentation of these casting changes and character assignments.
Core Ensemble Overview
The show maintained seven actors who appeared as series regulars during all seven seasons: Lana Parrilla, Robert Carlyle, and Colin O’Donoghue held continuous main billing, while Jennifer Morrison, Ginnifer Goodwin, Josh Dallas, and Jared S. Gilmore served as regulars through season 6 before returning as special guests for the seventh.
| Lead Actor | Character | Seasons | Fun Fact |
|---|---|---|---|
| Jennifer Morrison | Emma Swan | 1–6 (main), 7 (special guest) | Also directed several episodes during her tenure |
| Lana Parrilla | Evil Queen / Regina Mills / Roni | 1–7 | Fan favorite who earned multiple award nominations |
| Robert Carlyle | Rumplestiltskin / Mr. Gold / Weaver | 1–7 | Based the character’s voice on a Scottish fairy tale figure |
| Ginnifer Goodwin | Snow White / Mary Margaret Blanchard | 1–6 (main), 7 (special guest) | Married to co-star Josh Dallas in real life |
| Josh Dallas | Prince Charming / David Nolan | 1–6 (main), 7 (special guest) | Met Goodwin during initial casting auditions |
| Jared S. Gilmore | Henry Mills (young) | 1–6 (main), 7 (recurring) | Youngest regular cast member when series began |
| Andrew J. West | Henry Mills (adult) | 7 (main), 6 (guest) | Joined for the series reboot in Hyperion Heights |
| Colin O’Donoghue | Captain Killian “Hook” Jones | 2–7 | Introduced as part of Captain Hook adaptation |
Key Insights About the Main Ensemble
- Ginnifer Goodwin and Josh Dallas married during the show’s production and portrayed the on-screen couple Snow White and Prince Charming, creating what became one of the series’ central love stories.
- Robert Carlyle’s portrayal of Rumplestiltskin became widely regarded as the series’ standout performance, earning him numerous award nominations throughout the run.
- Lana Parrilla received multiple nominations for Critics’ Choice Television Awards for her dual portrayal of the Evil Queen and her reformed counterpart Regina Mills.
- Jennifer Morrison directed episodes 20 and 21 of season 6, becoming one of the few main cast members to also serve behind the camera.
- Colin O’Donoghue joined as a main cast member in season 2 after his character Captain Hook proved popular as a guest antagonist, eventually becoming Emma Swan’s romantic partner.
- Jared S. Gilmore was replaced by Andrew J. West as an adult version of the character Henry for season 7’s Hyperion Heights storyline.
Key Actors and Their Iconic Characters
Each main cast member of Once Upon a Time embodied characters who existed simultaneously in fairy tale worlds and the contemporary setting of Storybrooke. This dual-narrative structure required performers to portray both their character’s enchanted origins and their modern-day counterparts navigating ordinary life.
Emma Swan and the Central Protagonists
Jennifer Morrison starred as Emma Swan, the “Savior” whose arrival in Storybrooke triggered the breaking of a curse that had imprisoned fairy tale characters in a modern town. Morrison’s character evolved across six seasons from a reluctant participant in magical conflicts to a confident leader willing to sacrifice herself for her family.
Emma’s narrative arc intertwined with several other central characters. Her biological son Henry, played initially by Jared S. Gilmore and later by Andrew J. West, served as the catalyst for her return to Storybrooke and her reconciliation with the parents she believed had abandoned her as an infant.
Her romantic journey included relationships with pirate captain Killian Jones, portrayed by Colin O’Donoghue, and her initial attraction to the man revealed to be her biological father, Baelfire, played by Michael Raymond-James.
The series frequently reimagined traditional fairy tale figures. Captain Hook became a reformed pirate seeking redemption, while the Beast from Beauty and the Beast was adapted as Rumplestiltskin, the Dark One whose curse drove much of the series’ mythology.
The Antagonists and Morally Complex Figures
Lana Parrilla’s portrayal of Regina Mills, also known as the Evil Queen, represented the show’s most successful character transformation. Introduced as the primary antagonist of the first three seasons, the character gradually evolved into one of the show’s most nuanced figures, eventually becoming an ally and mother figure.
Robert Carlyle’s Rumplestiltskin served as the show’s central dark figure, a magical being whose manipulations and schemes created obstacles for protagonists while also serving as an unlikely mentor and ally. His character backstory, explored extensively throughout the series, added mythological depth to the show’s magical systems.
Rebecca Mader joined the recurring cast in season 3 as Zelena, the Wicked Witch of the West, who was revealed to be Regina’s half-sister and the wearer of the show’s signature green skin. Mader was promoted to main cast for seasons 5 and 6.
Supporting Ensemble Members
Emilie de Ravin played Belle, a character inspired by Beauty and the Beast, who became Rumplestiltskin’s love interest and eventual wife. De Ravin was promoted to main cast in season 2 and remained a series regular through season 6. Her character’s narrative exploring themes of redemption and unconditional love became central to Rumplestiltskin’s character development.
Meghan Ory portrayed Ruby Lucas, known in fairy tale form as Red Riding Hood, appearing as a main cast member in season 2 before returning to recurring status. Raphael Sbarge played Dr. Archie Hopper, who embodied Jiminy Cricket in the enchanted realm, serving as one of Storybrooke’s few residents aware of the curse’s effects.
How Did the Cast Evolve Across Seasons?
Once Upon a Time underwent significant cast transformations throughout its seven-season run. The show navigated numerous character exits through narrative deaths, story arc conclusions, and the eventual series reboot that introduced an entirely new setting and many new cast members in season 7.
Season-by-Season Changes
Season 1 established the original ensemble featuring Jennifer Morrison, Ginnifer Goodwin, Lana Parrilla, Josh Dallas, Jared S. Gilmore, Raphael Sbarge, Jamie Dornan, Robert Carlyle, and Eion Bailey. Jamie Dornan’s character Sheriff Graham Humbert was killed in episode 7, though Dornan returned as a guest in the finale and appeared intermittently thereafter. Eion Bailey was promoted to main status beginning with episode 15.
Season 2 introduced Colin O’Donoghue as Captain Hook and elevated Emilie de Ravin to main cast as Belle. Meghan Ory received a promotion to the main ensemble after recurring in season 1.
Season 3 saw Michael Raymond-James promoted to main cast as Baelfire, while Meghan Ory returned to recurring status due to commitments to the CBS series Intelligence.
Season 4 brought Michael Socha into the main cast as Will Scarlet, though his character was killed off during the season. Eion Bailey returned to recurring status after his main stint in season 1.
Seasons 5 and 6 maintained relative stability among the main ensemble, with Rebecca Mader promoted to main cast for season 5. However, the series announced departures of multiple original cast members ahead of season 7.
The seventh season served as a soft reboot of the series, introducing a new location called Hyperion Heights and replacing several original cast members with new mains. Jennifer Morrison, Ginnifer Goodwin, Josh Dallas, and Jared S. Gilmore departed as regulars, returning only as special guests for specific episodes. Andrew J. West replaced Gilmore as the adult Henry Mills.
Season 7 New Additions
Season 7 introduced several new main cast members to anchor the Hyperion Heights storyline. Gabrielle Anwar joined the cast as Lady Tremaine / Victoria Belfrey, Dania Ramirez portrayed Cinderella / Jacinda, and Alison Fernandez played Lucy Mills. Mekia Cox joined as Tiana / Sabine, representing the Disney Princess Tiana as the series incorporated more modern Disney properties into its narrative.
Additional new mains included Sophie Lowe as Alice, Peter Gadiot as Cyrus, Emma Rigby as Anastasia / Red Queen, and Naveen Andrews as Jafar. These additions drew from various fairy tale and fantasy traditions, including stories from Once Upon a Time in Wonderland and adaptations of Aladdin and Alice in Wonderland.
Notable Recurring and Guest Stars
Beyond the core ensemble, Once Upon a Time featured an extensive roster of recurring and guest performers who appeared across multiple seasons. Many of these actors portrayed characters in both their fairy tale identities and their Storybrooke personas, often with significant impacts on ongoing storylines.
Recurring Cast Members
Seven actors consistently appeared as the seven dwarfs throughout the series’ run. Lee Arenberg portrayed Grumpy / Leroy, Daevyd Avalon played Doc, Faustino Di Bauda portrayed Sleepy / Walter, Gabe Khouth appeared as Sneezy / Mr. Clark, Michael Coleman played Happy, and Mig Macario portrayed Bashful. These performers appeared in varying capacities across multiple seasons.
Sean Maguire joined the recurring cast as Robin Hood beginning in season 3, eventually becoming a love interest for Regina Mills. His character’s storyline concluded following the actor’s departure. Keegan Connor Tracy appeared repeatedly as the Blue Fairy / Mother Superior, serving as a guide figure for various protagonists navigating magical conflicts. For a complete rundown of the actors involved, explore the Lilo and Stitch cast. Lilo and Stitch cast
Beverley Elliott maintained a recurring presence as Granny, appearing across numerous episodes from the first season through the series finale.
Distinguished Guest Performers
The series featured numerous notable guest stars in limited capacities. Barbara Hershey appeared as Cora, the Queen of Hearts and mother of both Regina and Zelena. Jamie Chung portrayed Mulan in several episodes, with the character eventually transitioning to the spin-off series Once Upon a Time in Wonderland.
Ruth Wilson guest-starred as the Knave of Hearts in the Wonderland spin-off, which was later referenced in the parent series. Other distinguished guest performers included Aaron Douglas, Amy Manson, and Bailee Madison in various roles across the show’s run.
Comprehensive records for every minor guest appearance, episode-specific casting, and uncredited roles exceed the scope of this reference. Sources including IMDb and the dedicated Once Upon a Time Fandom wiki maintain detailed episode-by-episode casting records that may capture minor roles not listed in encyclopedic sources.
Cast Changes Timeline
The evolution of Once Upon a Time’s ensemble can be traced through several key milestones that marked significant shifts in the show’s cast composition and narrative direction.
- 2011 (Season 1 Premiere): Original ensemble established with nine main cast members including Morrison, Goodwin, Parrilla, Dallas, Gilmore, Sbarge, Dornan, Carlyle, and Bailey.
- 2012 (Season 2): Colin O’Donoghue and Emilie de Ravin promoted to main cast; Meghan Ory elevated from recurring status.
- 2013 (Season 3): Michael Raymond-James promoted to main cast; Jamie Dornan departs regular capacity; O’Donoghue’s character transitions from antagonist to series regular.
- 2014 (Season 4): Michael Socha joins main cast; Raymond-James killed off; Eion Bailey returns in recurring capacity.
- 2015–2016 (Seasons 5–6): Rebecca Mader promoted to main cast; core original ensemble remains intact with Carlyle, Parrilla, and O’Donoghue as only remaining original season 1 mains.
- 2017 (Season 7 Premiere): Series soft reboot introduces new Hyperion Heights setting; Anwar, Ramirez, Fernandez, and Cox join as new main cast members.
- 2018 (Series Finale): Several original cast members return as special guests for concluding episodes; Morrison, Goodwin, Dallas, and Gilmore appear in limited capacity.
What We Know and What Remains Uncertain
The core cast information for Once Upon a Time is well-documented through official ABC press materials, verified Wikipedia entries, and multiple entertainment databases. However, certain aspects of the show’s extensive casting record present limitations.
| Established Information | Remaining Uncertainties |
|---|---|
| Core main cast members for seasons 1–6 are thoroughly documented across multiple authoritative sources | Exact billing classifications for some season 7 appearances remain unclear due to special guest designations |
| Season-by-season promotion and demotion patterns are confirmed through episode credits and press releases | Minor recurring roles with fewer than five appearances are not comprehensively catalogued in major sources |
| Character deaths and departures correlate directly with cast member availability changes | The full extent of uncredited cameo appearances across 156 episodes is not fully verified |
| Marriage of Goodwin and Dallas occurred during show production, publicly documented | Details about screen-testing processes and original casting decisions that did not proceed to production remain unavailable |
| Season 7 reboot deliberately introduced new main cast members per creator statements | Complete contract negotiations and departure reasons for some departing cast members are not publicly disclosed |
| Spin-off commitments and scheduling conflicts are documented as factors in some departures | Whether additional spin-off casting discussions occurred beyond the confirmed Wonderland series remains speculative |
Why the Cast Mattered to the Series’ Identity
The casting strategy of Once Upon a Time played a crucial role in establishing the series’ distinctive approach to fairy tale adaptation. Rather than simply recreating familiar characters, the show selected performers capable of conveying both the fantastical origins of their characters and the contemporary struggles of their Storybrooke counterparts.
Lana Parrilla’s transformation of the Evil Queen from antagonist to antihero exemplified the show’s commitment to character complexity. Her performance, characterized by nuanced physicality and emotional range, earned critical recognition and demonstrated the ensemble’s capacity for substantive character development across extended runs.
The real-life marriages between cast members Ginnifer Goodwin and Josh Dallas, and later between co-stars, added authenticity to the on-screen romantic narratives. Their portrayals of Snow White and Prince Charming benefited from genuine emotional connections that resonated with audiences.
Robert Carlyle’s Rumplestiltskin established a benchmark for the series’ darker elements, proving that fairy tale adaptations could explore mature themes while maintaining family-friendly accessibility. His Scottish-inflected characterization and commitment to physical performance requirements influenced subsequent casting decisions seeking performers willing to undertake demanding roles.
Sources and Additional Reading
“Casting was key to magic.” — Adam Horowitz, co-creator of Once Upon a Time, discussing the series’ launch in interviews with entertainment publications.
The cast information presented here draws from multiple verified sources including the official ABC network website, comprehensive Wikipedia entries for the series and its character listings, and entertainment databases maintained by IMDb and Rotten Tomatoes. The dedicated Once Upon a Time Fandom wiki provides additional episode-specific details that supplement primary sources.
For those seeking comprehensive casting records including minor roles and uncredited appearances, the IMDb full credits page maintains the most detailed episode-by-episode documentation available. The Wikipedia list of Once Upon a Time characters provides encyclopedic coverage of character roles and actor assignments verified against primary sources.
Summary
Once Upon a Time assembled a remarkable ensemble of performers who brought fairy tale characters to television across seven seasons. The core cast featured Jennifer Morrison as Emma Swan, Lana Parrilla as the Evil Queen and Regina Mills, and Robert Carlyle as Rumplestiltskin, supported by Ginnifer Goodwin, Josh Dallas, Jared S. Gilmore, and Colin O’Donoghue. Notable recurring performers including Emilie de Ravin, Rebecca Mader, and Meghan Ory added depth to the show’s extensive mythology.
The series underwent significant evolution, transitioning from its original Storybrooke setting through numerous character departures and additions, culminating in the Hyperion Heights reboot of season 7. Despite these changes, the ensemble maintained a consistent core identity that prioritized character development and mythological storytelling.
For further reading about television adaptations and ensemble casts, see our related coverage of the It Ends With Us Movie cast and As Time Goes By TV sitcom.
Frequently Asked Questions
Who are the main cast members of Once Upon a Time?
The primary main cast included Jennifer Morrison (Emma Swan), Lana Parrilla (Evil Queen/Regina Mills), Robert Carlyle (Rumplestiltskin/Mr. Gold), Ginnifer Goodwin (Snow White/Mary Margaret), Josh Dallas (Prince Charming/David Nolan), Jared S. Gilmore (Henry Mills), and Colin O’Donoghue (Captain Hook/Killian Jones). Lana Parrilla, Carlyle, and O’Donoghue appeared in all seven seasons as regulars.
Who plays Emma Swan in Once Upon a Time?
Jennifer Morrison portrayed Emma Swan, the “Savior” whose arrival triggered the breaking of the curse on Storybrooke. Morrison served as a main cast member from seasons 1 through 6, returning as a special guest for the series finale in season 7.
Who is the actress for the Evil Queen?
Lana Parrilla played the Evil Queen, also known as Regina Mills and later Roni. Parrilla maintained main cast status throughout all seven seasons, portraying the character through extensive development from primary antagonist to complex antihero.
What character does Robert Carlyle play?
Robert Carlyle portrayed Rumplestiltskin, also known as Mr. Gold and later Weaver. Carlyle appeared as a main cast member across all seven seasons, becoming one of the series’ most recognized performers through his portrayal of the Dark One.
Who left Once Upon a Time after season 6?
Jennifer Morrison, Ginnifer Goodwin, Josh Dallas, and Jared S. Gilmore departed as regulars after season 6. The departures coincided with the series’ decision to reboot the show with a new setting and several new main cast members for season 7.
Who are some notable guest stars in the series?
Notable guest performers included Barbara Hershey as Cora, Jamie Chung as Mulan, Jamie Dornan as the Huntsman/Sheriff Graham, Sean Maguire as Robin Hood, and numerous others appearing in limited capacities throughout the series’ run.
Did the cast change over the seasons?
The cast underwent numerous changes across seven seasons, including promotions, demotions, character deaths, and departures. Season 7 represented the most significant overhaul, introducing a new location called Hyperion Heights and replacing several original cast members with new main performers.
Who plays Snow White and Prince Charming?
Ginnifer Goodwin portrayed Snow White/Mary Margaret Blanchard, and Josh Dallas played Prince Charming/David Nolan. The actors married during the series’ production, and their characters’ on-screen romance became one of the show’s central relationships.