The 10 Best Characters in Once Upon a Time: Heroes, Villains, and More

Once Upon a Time had some interesting characters and twists throughout its run. Here are our favorite characters from the TV show.
The 10 Best Characters in Once Upon a Time: Heroes, Villains, and More

If you buy something using our links, we may earn a commission at no extra cost to you. Thanks for your support!

Even though it's been three years since Once Upon a Time came to an end—and don't get me started on that last season—it's still remembered as a fun alternative fairy tale TV show with intertwining storylines and fabulous villains.

Seeing the backstories of the characters unfold and the growing complexity of various relationships adds to the richness of the overall tale. Indeed, the show has given us some great characters.

Whether out-and-out villains or baddies turned good after redeeming themselves, we've seen it all. Here are the best characters in Once Upon a Time and why we love them.

10. Mother Gothel

Before watching Once Upon a Time, I was always curious about the character of Mother Gothel. She was originally a Tree Nymph and was played by Emily Booth in the series.

Mother Gothel is one of the few villains in Once Upon a Time who was never fully redeemed. I thought her story in the seventh season was interesting, and it was one of the only highlights of that season.

9. Cora

Cora, Regina's mother, is one of the most evil characters in Once Upon a Time, made perfect by Barbara Hershey's casting for the role. What a perfect choice for this villain! I also enjoyed Rose McGowan's portrayal of Cora in her younger years.

I ranked Cora this low because while she has a huge influence on the plot, I find it hard to like her. She's the reason why Regina becomes the Evil Queen. She literally broke her own daughter's heart. How cruel is that? Truly villainous in every way.

8. Maleficent

Maleficent has always been one of those very intriguing characters. Even seeing her in the cartoon version of Sleeping Beauty always sparked my interest. I wanted to know why she had become so evil.

Kristin Bauer van Straten is a brilliant choice for her. I wish they had done more with this character because I wanted to see so much more from her. Even so, she's great on Once Upon a Time!

7. Ingrid the Snow Queen

Elizabeth Mitchell's portrayal of the Snow Queen was really interesting to watch, and it added another layer to the Frozen version of this story.

Here, Ingrid is the aunt to Anna and Elsa. While she's a villain during the course of the show, she's also shown as Emma's one-time adoptive mother. The connections are fun, and it's an enjoyable storyline that the writers included in the show.

6. Hades

I thought that the introduction of Hades into the story of Once Upon a Time was really clever, and I really enjoyed the love story between him and Zelena. It's too bad that things didn't end up working out.

Still, it all adds layers to this complex character. I also liked seeing Greg Germann in something other than Ally McBeal, which is where I originally knew him from.

5. Peter Pan

It was such a fun contrast for Once Upon a Time to subvert the usual story and have Peter Pan be the villain with Hook being the hero. Although they didn't really interact, I thought this was a fun choice.

Peter Pan was cast perfectly, and the twist that he was Rumpelstiltskin's father was really fun. He was deliciously evil, even more so than Rumpel himself.

Robbie Kay played him so well, and he was only 18 years old when he started in this role. He delivered a depth that was unexpected, and he was a lot of fun to watch.

4. Zelena

I loved Rebecca Mader's portrayal of Zelena the Wicked Witch. She started out as the main villain of season three, who then transformed into one of the good guys and aided her sister, Regina. She also has some great pipes!

3. Hook

I adore Hook. Given that his story is mostly one of being a hero, I often forget that he did start out as a villain in Once Upon a Time.

Colin O'Donoghue is handsome and makes a perfect pirate, plus the love story between him and Emma is well done and inspiring. They are a perfect couple. His turnaround is only surpassed by the Evil Queen.

2. Rumpelstiltskin (Mr. Gold)

Robert Carlyle was the perfect choice to play the evil Rumpelstiltskin, who is easily the most iconic villain in Once Upon a Time. He transitions between characters so well.

You want him to be redeemed—and the character does have his moments—but he never quite completes a full redemptive transformation in the way that Regina does.

I also enjoyed the storyline of him being the Beast from Beauty and the Beast, which was a pretty clever twist even for this show.

1. Regina

Regina is the best and most versatile character on Once Upon a Time, bar none. Lana Parrilla excels as both the Evil Queen and the later-reformed Regina, impressively portraying the character's growth.

The way they did her slow transition from evil to good over the seasons is exceptionally well done, and we love her both when she's evil and when she's good. She does both of them so well, although I do prefer her evil self just a bit more.

Regina the Evil Queen is wholly captivating, and although she's evil much of the time, you still kind of want her to win.