7 Best Supervillains In Superhero Movies

These are the best (and worst) supervillains ever seen in superhero movies.

By Douglas Helm | Published

best supervillain

Superhero movies would be pretty boring if we just watched them saving cats from trees and people from burning buildings. Superheroes need something that poses a threat, forces them to confront their values, and pushes them to their limit — aka a supervillain. Hollywood has given us plenty of these super foes, but these are our picks for the best supervillains in superhero movies of all time:

7. Erik Killmonger (Michael B. Jordan)

michael b jordan secret wars

What if the villain is right? If you’re asking yourself that question, you know that you’re watching a well-written and effective supervillain. Perhaps no villain on this list encapsulates that more than Michael B. Jordan’s Erik Killmonger. Although he is a Wakandan by blood, Killmonger was born and raised in America. Thus, he has nothing but righteous fury for his home country that ignored the oppression of black people in America for centuries.

While Killmonger’s methods may be questionable, it’s hard to disagree with his core goals. His case is even convincing enough to get the Wakandans to reveal their country to the world. Anchored by a rock-solid script and an engrossing performance from Michael B. Jordan, it’s easy to see why many consider Killmonger one of Marvel’s best supervillains.

6. Magneto (Ian McKellen)

ian mckellen magneto secret wars

You may notice that the best supervillains having understandable motivations are a running theme on this list. While a villain being evil just for the sake of being evil can be compelling, it’s a lot more memorable when you can understand the villain. This is why Ian McKellen’s Magneto makes this list too.

Magneto is no stranger to the horrors of oppression and prejudice as a Holocaust survivor, which is why he fights to protect mutants from humanity’s cruelty. His fight is especially compelling as his friend Charles Xavier fights the same battle with a different approach. As expected, McKellen imbues the character with the appropriate amount of menace and gravitas to create a truly iconic on-screen villain.

5. Ozymandias (Matthew Goode)

best supervillain

Zack Snyder’s Watchmen may have been slavishly faithful to the source material to a fault, but that devotion meant that the film got a lot of things right. While it’s far from a perfect adaptation, it’s hard to deny the casting and characterization of Alan Moore’s characters weren’t accurate, particularly in the case of the genius and grandiose Ozymandias.

Ozymandias also has a unique leg up on the other best supervillains on this list — he won. By the time the Watchmen arrive to stop Ozymandias, he has already enacted his grand plan. Ozymandias was literally always one step ahead of his fellow Watchmen, and Matthew Goode perfectly brought this calculating character to life.

4. Loki (Tom Hiddleston)

tom hiddleston loki season 2

As Harvey Dent would say, “You either die a hero or live long enough to see yourself become the villain,” but what if the opposite happens? Loki was instantly one of the best supervillains in the MCU when he was first introduced in Thor, and now he’s been around so long that he’s now more hero than villain.

Of course, villain Loki was amazing while we had him. Thanks to Tom Hiddleston’s mischievous and grandiose performance, the character was often the best part of whatever movie he was in. Marvel didn’t let a good thing go, and now we have an entire Disney+ series focused on Loki and a second season on the way.

3. Green Goblin (Willem Dafoe)

willem dafoe

It’s not often that an all-time-great supervillain can be brought back nearly 20 years later and be just effective as his debut. But that’s exactly what happened with Willem Dafoe’s Norman Osborn/Green Goblin. Old Gobby managed to menace not just one, but two different Spider-Men and make their lives absolutely miserable.

Arguably, Willem Dafoe’s double-duty performance as the desperate Norman and the unhinged Green Goblin was the best part of every Spider-Man movie he was in. While we likely won’t be seeing him reprise the character again, his two appearances in superhero films were more than enough to cement him as one of the best supervillains of all time.

2. Thanos (Josh Brolin)

We had only had the briefest glimpse of Thanos leading up to Avengers: Infinity War, and then in his first scene, he has defeated a ship of Asgardians, including Thor, and he beats Hulk so hard that the big angry monster refuses to come out for the rest of the film. It was a chilling way to show us that this is by far the biggest threat we’ve seen in the MCU yet.

Years of build-up and careful world-building somehow managed to live up to all of the hype with Avengers: Infinity War and Avengers: Endgame. It’s a level of hype that the MCU hasn’t been able to recreate since, and Josh Brolin‘s Thanos was a huge part of it. It’s almost enough to make him the best supervillain in movies of all time if it weren’t for the top pick on our list.

1. The Joker (Heath Ledger)

The Joker is arguably the greatest comic book supervillain of all time, and Heath Ledger’s Oscar-winning performance as the Clown Prince of Crime rightly takes the top spot on this list. Ledger’s performance kept viewers on the edge of their seats every time he was on screen.

The Joker’s plans constantly put Christian Bale’s Batman on his heels. The Joker managed to personify chaos while always being one step ahead of the world’s greatest detective. And Heath Ledger gave the performance of a lifetime in his final, and arguably best role. No villain has stolen as many scenes and enraptured audiences quite like Ledger did since, which is why he’s the best supervillain of all time.