Acting is far more challenging than it seems. It’s not just about memorizing scripts and lines, but about bringing a character to life in the most credible way possible. Moreover, it should not be forgotten that acting is an actor’s everyday job and, just like every other job, offers depend on their skills and what they have been able to demonstrate in both previous productionsand during auditions. Once an actor rises to the spotlight, each movie he or she performs in can either continue to catapult or sink his or her career. Their success does not solely depend on that, but also on their ability to be critical in choosing which roles will allow them to demonstrate their skills to the fullest.

Some actors prefer to stick to thesame kind of characterthroughout their career, a role that can be stereotypical, but that they perform to perfection. Such is the case, for instance, of Tom Cruise, whose portfolio includes many films in which he played the role of an action hero. Other actors, however, are willing to take the risk of playing roles that are completely different from one another, as antagonistic as the hero and the villain roles are. To successfully embody both roles, an artist must have tremendous acting skills and the ability to adapt, which is something that not every performer is able to do. Here are eight actors who have played heroes and villains in movies with excellent results.

Meryl Streep as Donna Sheridan

Related:These Movies Are Told From the Villain’s Perspective

8Meryl Streep

Meryl Streepis an actress widely known for her versatility to perform any kind of character roles, so she couldn’t be left out of this list. Among her more endearing parts, we find Donna Sheridan inMamma Mia!, the 2008 movie inspired by the popular musical of the same name. Donna was a relaxed, friendly, and very funny woman, and single mother of Sophie (Amanda Seyfried), who owned a small hotel on a heavenly Greek island. The movie centers on Sophie’s wedding, which she decides to celebrate on the island, therefore her mother takes it upon herself to help Sophie with the organization so that she can have her dream wedding, albeit with a few setbacks along the way.

Among Streep’s villainous roles, the most outstanding one is definitely her role as Miranda Priestly, Runway magazine’s boss, a feared woman, with a great understanding of fashion and a strong temper, inThe Devil Wears Prada. Her employees work hard to please her every desire, until Andy (Anne Hathaway) shows up to work at Runway in order to break down Miranda’s hard-nosed structures.

Samuel L. Jackson as Nicky Fury

7Samuel L. Jackson

Samuel L. Jacksonfirst played Nick Fury in the 2008Iron Manmovie. This well-known former Director of S.H.I.E.L.D. and later founder of the Avengers became a part of the MCU with frequent appearances in the films, helping the superheroes carry out their missions.

But Jackson also indulged in a turn to the dark side by playing Elijah Price, also known as Mr. Glass, inUnbreakableandGlass, the first and thirdmovies of M. Night Shyamalan’s trilogy. This character is a criminal with a mastermind and a genetic disorder that made his bones as brittle as glass and who firmly believes, after years of analyzing comic books, that people with superhuman qualities do exist.

Charlize Theron as Furiosa

6Charlize Theron

Charlize Theron, Oscar-winner for her performance inMonster, also amazed the audience with her performance and adaptability when in 2012 she stepped into the shoes of The Evil Queen, the antagonist inSnow White and the Huntsmanand its subsequent sequel,The Huntsman: Winter’s War. As we already know from the children’s tale, the queen stands out for her wickedness, dominance and self-centeredness. When she discovered that her stepdaughter Snow White (Kristen Stewart) surpassed her in fairness, she went on a mission to assassinate her in order to consume her heart and regain her youth.

Theron also has within her portfolio a role that made her stomp in the action genre, which is usually dominated by men: in 2015,Theron played Imperator FuriosainMad Max: Fury Road, a soldier who later allies with Max Rockatansky to save The Five Wives. Her performance in this film was highly acclaimed, contributing to a 97% score onRotten Tomatoes.

Gary Oldman as James Gordon

5Gary Oldman

Gary Oldman’s acting skills help him fit into any kind of role, and his portfolio features numerous hero and villain roles. Among the former, we can highlight his work in Christopher Nolan’sThe Dark Knighttrilogy as Jim Gordon, the policeman who works alongside Batman to rid Gotham City of criminals. Gordon’s character almost fell into the hands of another actor, because Nolan initially offered Oldman the role of Ra’s al Ghul, but as the actor wanted to take a break from playing villains, that role ended up being played by Liam Neeson. Among Oldman’s most iconic villains is Jean-Baptiste Emanuel Zorg, the main villain ofThe Fifth Element, owner of Zorg Industries and weapons creator working under the command of the Great Evil.

Related:Explained: Is Zoë Kravitz' Catwoman a Hero or a Villain?

Helena Bonham Carter as Fairy Godmother

4Helena Bonham Carter

Helena Bonham Carteris mostly known for her darker characters and appearances in director Tim Burton’s movies. In fact, one of her most iconic roles to date is Bellatrix Lestrange, the evil witch and Death Eater in theHarry Pottersaga. Known for being evil and extremely cruel, Bellatrix’s only motivation is to inflict pain and fulfill any and all wishes of her master, Lord Voldemort.

However, despite her numerous villainous roles, Carter also wanted to try different parts, so in the 2015 Disney movieCinderella, she took on the role of the Fairy Godmother, performing the already well-known scene from the children’s tale in which she helps Cinderella get ready for the ball with a bit of magic, but bringing in this time a dose of humor and irony.

3Anthony Hopkins

If there is one iconicAnthony Hopkinscharacter that still holds up to this day, it is Hannibal Lecter, the murderous, cannibalistic psychopath who earned Hopkins an Oscar for Best Actor. He started portraying him in the 1991 movieThe Silence of the Lambs, and returned to the role in the filmsHannibalandRed Dragon. In recent years, however, he had a major role in the MCU as Odin, ruler of Asgard and father of Thor and Loki. As a matter of fact, Hopkins was seriously thinking of quitting acting when he got the offer from director Kenneth Branagh to take part in theThormovies, and taking the offer was not a mistake: he played a very successful part in all the films.

2Johnny Depp

Another actor with an incredible versatility that allows him to camouflage as a chameleon to perform to perfection every role that comes his way:Johnny Depp. He made his leap to fame with the heroic and kind-hearted characterEdward Scissorhandsin the 1990 movie, which also marked the beginning of a duo between the actor and the film’s director, Tim Burton. This relationship would last for years, as they collaborated on a number of films. By 2008, their sixth collaboration would give Depp the chance to play the villainousSweeney Todd, a murderous barber who, assisted by his ally Mrs. Lovett (Helena Bonham Carter, another recurring actress in Burton’s productions), makes the corpses of his victims disappear, ground up in meat pies.

1Ian McKellen

Ian McKellen’s best-known roles as hero and villain are equally remembered for his outstanding performances. He was part of theLord of the Ringssaga as the wise wizard Gandalf, a part that earned him an Oscar nomination for Best Supporting Actor inThe Fellowship of the Ring. Furthermore, his best known role as a villain would be within theX-Mensaga portraying Magneto, a powerful mutant antagonist who had the ability to generate and control mental magnetic fields. Magneto has been the most outstanding enemy the X-Men have had since the creation of their team.