Marvel Movie Villains Ranked from Worst to Best
The Marvel movies are beloved the world over, and they are consistent box office and critical hits. But if there’s an Achilles heel to the Marvel Cinematic Universe, it’s its villains. They’re not particular good or even interesting. And given how many films they’ve made now, it’s become a bit of a running joke that Marvel’s villains are lackluster. Of course they make up for it in the protagonist department, but that doesn’t mean creating a fascinating Marvel movie villain is impossible. In fact, they’ve come close a few times and there is one indisputable great Marvel movie villain.
So as we await the release of the latest film in the MCU, let’s look back on every major Marvel movie villain to date ranked from worst to best. Be aware there are spoilers discussed.
Note: I only included major villains in this piece, or characters who at one point in the story served as a primary/major antagonistic force to our hero. So while Kursed and Crossbones are in the MCU, it’s unfair to compare their character-lite screentime with other major villains, and thus they’ve been left off the list.
25. Whiplash – ‘Iron Man 2’
You really can’t blame Jon Favreau and Marvel for wanting Mickey Rourke to play Whiplash in Iron Man 2. At the time, Rourke was in the midst of what would ultimately be an incredibly brief resurgence thanks to his terrific performance in The Wrestler. But when he showed up for Iron Man 2, he basically wore his same clothes off the street, demanded the character have a pet bird, and mumbled his way through the film. Ivan Vanko was supposed to be a formidable foil for Tony Stark that brought up all of Tony’s daddy issues, but Rourke’s performance is so stilted and odd that Vanko/Whiplash just comes off as one big joke. While Iron Man 2 certainly is one of the MCU’s worst films, a lot of the film’s stink is due to this complete dud of an antagonist and Rourke’s unwillingness to give Favreau and Co. anything resembling an actual performance.
24. Emil Blonsky/Abomination – ‘The Incredible Hulk’
The Incredible Hulk is an outlier in the MCU for many reasons—it was produced at the same time as Iron Man, and yet only two characters from Hulk have appeared in any other MCU films. It’s a weird movie that’s kinda-sorta part of the MCU mythology, but as a film itself, it’s pretty forgettable. That extends to its main villain Emil Blonsky (Tim Roth), who in the film is basically just portrayed as a macho military dude who wants to get Hulk-sized ripped. He becomes Abomination because reasons, fights Hulk, and is beaten to a pulp. The end. He really only exists in the film to justify a big third act fist fight between Hulk and a formidable challenger, and as a character is as paper thin as they come.
23. Malekith – ‘Thor: The Dark World’
In the long line of pointless villain roles in the MCU, Christopher Eccleston’s Malekith in Thor: The Dark World ranks as one of the most pointless. Case in point: I bet you forgot/didn’t know Christopher Eccleston was even in a Marvel movie! Malekith is a mean Dark Elf who wants to rule the universe. That’s the beginning and end of his story, and the film makes no efforts to inject any sort of pathos or emotion into the character at all, just using him to get in the way of Thor and Jane. It’s all the more glaring when coming off of Loki in Thor, who was chock full of pathos. But Eccleston’s not alone in the MCU legion of wasted talents.
22. Dormammu – ‘Doctor Strange’
I debated even putting Dormammu on this list, but seeing as how he’s the one pulling the strings in Doctor Strange, it felt appropriate. He can’t rank very high because the character only has a teensy bit of screentime, during which he’s seen only as a floating psychedelic face. The character is only made interesting by the fact that he worked alongside Tilda Swinton’s Ancient One, and his visual design is admittedly pretty cool, but beyond that he doesn’t make much of an impression. Of course, that’s certainly not the last we’ve seen of the character, so To Be Continued…
21. Laufey – ‘Thor’
Thor is a weird movie with regards to antagonists because yeah, the film starts out by setting up the Frost Giant Laufey (Colm Feore) as the main villain, but he’s really a misdirect. There’s also S.H.I.E.L.D. that gets in Thor and Jane’s way, but in the third act it’s Loki that emerges as the biggest threat to our hero. So Laufey’s a bit of a patsy, and that’s not really his fault. He ranks low on this list by design.
20. Ronan – ‘Guardians of the Galaxy’
It’s a marvel that Guardians of the Galaxy works as well as it does with a villain as lame as Ronan, but that’s kind of become the modus operandi of the MCU. Lee Pace’s villain is a religious zealot who is angry that his people, the Kree, have signed a peace treaty and thus decides to basically start a galactic war over racial superiority. That could be interesting, but the movie doesn’t spend near enough time on Ronan to flesh out his motivations beyond “A crazy dude who wants to do bad stuff.” He’s basically just there to get in the way and set up jokes and set pieces, and by that metric he serves his purpose well. But as an antagonist who’s even mildly interesting, Ronan fails miserably.
19. Kaecilius – ‘Doctor Strange’
Mads Mikkelsen dodged a bullet when he passed on the Malekith role in Thor: The Dark World, but he didn’t fare much better by taking on Kaecilius in Doctor Strange instead. Co-writer/director Scott Derrickson admits he chose a simplistic villain given the complexity of the protagonist and mysticism he already had to deal with, and indeed Kaecilius is something of a blank slate. He does get in some great fight sequences, and Mikkelsen looks tremendous when going toe-to-toe with Strange and other characters, but at the end of the film we don’t much care what happens to Kaecilius. He’s more of a pest than a dastardly antagonist, which again given that the script also had to deal with the Ancient One stuff and Strange’s arc is semi-forgivable, but he’s certainly not a memorable entry into the MCU.
18. Alexander Pierce – ‘Captain America: The Winter Soldier’
Captain America: The Winter Soldier is somewhat unique in that it’s one of the more grounded films in the MCU, and Robert Redford’s Alexander Pierce is very much a “suit-and-tie” villain. He has no superpowers or plans to gain superpowers. Instead he’s just an evil Nazi dude who’s trying to keep Hydra’s infiltration of S.H.I.E.L.D. a secret. And he’s…fine. The character is kind of a waste of Redford’s talents and indeed, the film seems to let Redford’s mere presence do a lot of the heavy lifting. But there’s nothing particularly memorable about Alexander Pierce and he hasn’t really made a lasting impact on the MCU, so he’s very much one of the franchise’s middle-of-the-road baddies.
17. Ghost - 'Ant-Man and the Wasp'
It’s a little unfair to even include Ghost on this list, because Hannah John-Kamen‘s character is more of an antagonist than a true villain. But she is indeed the main “baddie” of Ant-Man and the Wasp, and while she gets some refreshing moral complexity, it still feels a bit like John-Kamen’s talents were underutilized here. The Midnight Run approach to the story dictates that there are various obstacles in our heroes’ way, and so while Ghost is the most formidable, there are times when she takes a backseat to Walton Goggins‘ shady dealings or the federal authorities. When we get to the Ghost “twist” it provides some understanding for her character, and we see she’s really not all that “bad”, but the film doesn’t spend enough time on Ghost to fully develop her as a scary or threatening force. So when it comes time for the big third act battle, Ghost is, again, more of an annoying obstacle than a serious threat to the well-being of our heroes. Ghost is, much like Ant-Man and the Wasp, just fine.
16. Darren Cross/Yellowjacket – ‘Ant-Man’
Speaking of forgettable villains, enter Darren Cross. Admittedly Ant-Man is a weird movie in the MCU since it had to be kind of hobbled together in a rush after director Edgar Wright left the project. The finished film is still working on the backbone of Wright and Joe Cornish’s script, but something’s a little off. That extends to Cross, whose motivation is interesting—stealing a company from his mentor, whom he resents for not telling him his Ant-Man secrets—but the execution in terms of story is a bit underwhelming. Corey Stoll does a nice job with what he’s given, and he brings an excitable edge to Cross that’s refreshingly off-kilter, but ultimately it doesn’t really coalesce into much.
15. General Ross – ‘The Incredible Hulk’
William Hurt’s General Ross is actually one of the best things about The Incredible Hulk, and yet it’s still a case of the hero overshadowing the character development of the villain. The baggage that audiences brought to the film with Ang Lee’s Hulk still fresh in their minds does a lot of the heavy lifting as far as Ross’ backstory is concerned, but Hurt’s performance is delightfully steely, especially in relation to his daughter.
14. Hela - 'Thor: Ragnarok'
When you cast an Oscar-winning performer like Cate Blanchett, who also happens to be one of the greatest actresses working today, you don’t necessarily expect her to show up ready to play. But that’s exactly what she did with Hela in Thor: Ragnarok. There’s not really any major effort made to offer a deep context to Hela’s actions, and there’s no major twist at the end—she’s just a jilted wannabe Queen of Asgard, and she’s gonna look great trying to take over the throne.
This would be disappointing in most other Marvel movies, but Thor: Ragnarok is here to play. Taika Waititi‘s approach to the film is to make it as fun as possible, and while Hela’s origin twist at the beginning of the movie adds a bit emotional shading to the whole ordeal, mostly she’s just here to chew the scenery and have a blast doing it. And that’s perfectly fine. So while Hela may not be the most memorable of villains when it comes to plans or machinations, she serves the film she’s in perfectly, making this a successful turn.
13. The Winter Soldier – ‘Captain America: The Winter Soldier’
From a physical standpoint, The Winter Soldier/Bucky Barnes is one of the most formidable baddies in the MCU. He’s lead to some of the franchise’s best close-quarters combat scenes and offers an emotional point of conflict with Steve Rogers. Of course, this is all due to him being brainwashed, so in terms of motivation it’s not as solid. Regardless, especially in Captain America: The Winter Soldier, Sebastian Stan’s Bucky is a really strong visual antagonist and the personal connection to Steve Rogers makes the audience investment all the more significant.
12. Aldrich Killian – ‘Iron Man 3’
Ah yes, one of Marvel’s most controversial villains. I’ll say this up front: I think Iron Man 3 is one of Marvel’s best films, and I think that extends to the characterization of Aldrich Killian. If you’re a Mandarin purist the film allows you to consider Killian the “real” Mandarin, but the character of Killian himself is supremely interesting. Here’s a guy who was ignored by Tony Stark, who rebuilt himself better, bigger, and badder, and who actually has a brilliant approach to global terrorism: make it theatrical. There’s no rule that says the main terrorist has to be the face of the organization, and if he’s reaping the benefits of their operations regardless, why not hide in plain sight? Killian goes a bit Bond villain in the third act, but Guy Pearce’s performance is fascinating to watch and it supports the Mandarin reveal in a really interesting way.
11. Helmut Zemo – ‘Captain America: Civil War’
Captain America: Civil War is a surprising film, and that extends to Daniel Bruhl’s villainous Helmut Zemo. The notion of revenge is not brand new, but the lengths to which Zemo goes to exact his revenge, and the way in which it’s enacted, are refreshingly complex and very much grounded in character and emotion. You do have to make some pretty big leaps in logic to follow along, but the impact is the same: Zemo gets Iron Man and Captain America to destroy each other, to destroy the Avengers, to make them pay for killing his family in their careless assault on Sokovia. In some ways the Avengers themselves are the villains of Civil War, and Bruhl’s Zemo underlines this wonderfully.
10. Justin Hammer – ‘Iron Man 2’
Sometimes a little comedy goes a long way. Iron Man 2 is a very bad movie, but Sam Rockwell’s Justin Hammer is an absolute delight the entire way through. He’s also an interesting villain! The sequel forces Tony to face the consequences of going public with his Iron Man confession, but Hammer represents the fact that when Tony outed himself as Iron Man, he painted a giant target on his back. Hammer is an opportunist, and the technology that fuels the Iron Man suit is coveted by those looking for fame and glory, like Hammer. Rockwell plays the character with flair and gusto, and he’s quite literally the only reason that scenes involving Mickey Rourke’s dead-fish-like Whiplash are watchable.
9. Ultron – ‘Avengers: Age of Ultron’
Avengers: Age of Ultron is quite possibly the weirdest movie Marvel has made thus far, and considering it’s the sequel to their biggest movie, that was quite a risk. Writer/director Joss Whedon is asking big, difficult, and dark questions with this film concerning parentage and basic humanism, and James Spader’s evil robot Ultron is something of a mouthpiece for these ideas and concerns. Ultron is essentially Tony’s legacy in humanoid form, and this is a story of a son denying his father and carving out a legacy of his own. While the visual design of the character is a bit underwhelming, his motivations and Shakespearean-like dialogue are delectable, and Spader makes a meal of it. That final scene between Ultron and Vision, discussing the value of humanity itself, is something that could only come from the mind of Whedon in the context of a massive blockbuster sequel, and Ultron makes for one of the MCU’s very best baddies.
8. Obadiah Stane/Iron Monger – ‘Iron Man’
The list of MCU villains that are actually meaty is admittedly short, but the studio actually kind of nailed it with their first outing, Iron Man. Granted the smaller scale of the film necessitated a villain who was more familiar, and Jeff Bridges brings Obadiah Stane and his alter ego Iron Monger to life in a very Jeff Bridges manner. There’s a swagger to the character that almost makes him more menacing, and the tension that fills the scene in which Pepper (Gwyneth Paltrow) is nearly caught stealing files off of Stane’s computer is played entirely off of Bridges’ demeanor and facial expressions. It’s refreshingly intimate, especially considering the villains and films to come, and it remains one of Marvel’s best.
7. Thanos – ‘Avengers: Infinity War’
Possibly the most important task Avengers: Infinity War had was making Thanos an interesting and formidable villain. The character has been teased as the one pulling the strings since the end of The Avengers, but until Infinity War we had no motivation, no pathos, and certainly nothing to show for it—he had amassed exactly zero Infinity Stones until the events of Infinity War. So did Marvel succeed? Well, kinda.
Some are hailing Thanos as the best Marvel villain ever, and while I wouldn’t go that far, Infinity War does a fairly compelling job of fleshing Thanos out. Josh Brolin‘s performance has a lot to do with it, as the No Country for Old Men actor brings some much-needed humanity to the character. And there are a couple of scenes designed to flesh Thanos out as an emotional being that sort of work.
His motivation, however, is a bit shaky. Thanos wants to wipe out half the population of the universe, claiming that in doing so he’s sacrificing many to save many. By cutting down on overpopulation, Thanos believes the rest of the universe’s inhabitants will thrive. There are some allusion to Thanos’ backstory as motivation here and there, but ultimately we’re not given a super compelling reason why beyond “political beliefs.”
There’s also the attempts at pathos with regards to Thanos’ relationship with Gamora, with an entire flashback designed to make the audience see Thanos as an emotional being. While the scene with the soul stone mostly works, ultimately we’re again not given a convincing enough reason as to why Thanos genuinely loves Gamora, especially as he’s simultaneously pulling his other daughter, Nebula, apart.
So yes, Infinity War mostly does a good job of making Thanos at the very least formidable—especially considering how many other characters the film has to juggle. But there’s certainly room for improvement, which may or may not come with Avengers 4.
6. Red Skull – ‘Captain America: The First Avenger’
It’s a shame that Hugo Weaving didn’t seem to enjoy his time in the MCU, because his villainous Red Skull remains one of Marvel’s absolute best antagonists to date. The World War II setting of Captain America: The First Avenger necessitated a period-appropriate villain, and Weaving’s Nazi scientist Red Skull is the perfect fit. Weaving brings a terrifying stoicism and focus to the role that telegraphs Red Skull will let nothing and no one get in his way, and the way he kind of just blows Captain America off sets the tone for their relationship. And while it’d be great to see Weaving reprise the role, perhaps we look back on the character so fondly because we’re left wanting more.
5. Ego - 'Guardians of the Galaxy Vol. 2'
Ego the Living Planet certainly has one of the better story arcs of any Marvel villain, especially given how it plays out narratively. Elizabeth Debicki‘s Ayesha turns out to be something of a red herring in Guardians of the Galaxy Vol. 2—a pre-villain of sorts, as her story in the film is really just about setting up her future role in the creation of Adam Warlock and using her as a physical antagonist towards the end of the film. The real villain of Guardians 2 is Kurt Russell‘s Ego, who we’ve spent the majority of the runtime believing is Star-Lord’s benevolent and long-lost father. James Gunn‘s decision to tie the emotional drive of the movie with the villain’s story is an inspired one, as the backbone of the film is Star-Lord finally getting to have a relationship with his father, only to learn that his dad is a deadbeat. That Gunn uses these two otherworldly beings to tell such a grounded, relatable story is one of the film’s greatest strengths, and Russell absolutely kills it in this role.
While the film does devolve into a CG-filled battle at the end, Ego is mostly a pretty great, complex, and interesting character who mucks up the plans of our heroes in a way that’s inherently tied to the emotional stakes of the film, not just as some physical force to be reckoned with. That makes him stand out amongst the library of lackluster MCU villains thus far.
4. The Mandarin/Trevor Slattery – ‘Iron Man 3’
Okay, hear me out. Fans were clamoring for the Iron Man movies to finally tackle the character’s most famous villain, The Mandarin. The big problem there was the character in the comics is actually a pretty racist caricature, so the prospect of making him contemporary proved difficult. Enter Shane Black and Drew Pearce, who had the crazy idea to portray The Mandarin as a theatrical façade for the much more nefarious and shadowy Ten Rings. So what makes Ben Kingsley’s Trevor Slattery the second best Marvel villain to date? Because it’s a radical reinvention of a comics character who probably would’ve disappointed onscreen anyway, and because it’s hilarious. Black has a knack for subverting expectations, and revealing The Mandarin as a drunk, classically trained British actor throws both the audience and Tony for a loop while putting the film into an entirely different context. Kingsley nails this role, proving formidable for the first half of the film—if a bit ridiculous—and then hilarious after the reveal. It may be divisive, and it may go against the grain, but that’s precisely why it’s so great. It’s different, it’s risky, and it’s unique.
3. Adrian Toomes - 'Spider-Man: Homecoming'
Marvel has a habit of somewhat wasting talent when it comes to the actors that fill their villain roles, but boy what a breath of fresh air Michael Keaton was in Spider-Man: Homecoming. His character Adrian Toomes initially appears to just be another semi-interesting spin on a baddie—a blue collar working spurned by Tony Stark who sets out to make his own buck by shady means. That would have probably resulted in a fine, middle-of-the-road villain by MCU standards. But it’s the extra twist in the script that solidifies Toomes as one of Marvel’s best villains yet. In the third act, as Peter Parker (Tom Holland) goes to pick up Liz (Laura Harrier) for the dance, it’s revealed that Toomes is Liz’s father.
This not only dramatically increases the stakes of the movie, but it also ties inherently into the film’s underlying themes of what it’s like to be a high school kid. Parents of potential significant others are terrifying enough, but making the dad the actual villain ties right into the story while delightfully complicating matters. It also gives us one of the MCU’s best scenes ever, in the car when Toomes has “the talk” with Parker and lets him know he knows. And that’s why you cast Michael Keaton as the Big Bad.
2. Killmonger - 'Black Panther'
Black Panther is Marvel Studios’ most substantial film to date, and it achieved that through the precise, thoughtful, and bold creative vision of co-writer/director Ryan Coogler. That vision wasn’t just one of T’Challa (Chadwick Boseman) getting into fisticuffs with a threat to the Wakandan throne, but a story about the African experience contrasted with the African-American experience. The latter is embodied by Michael B. Jordan‘s Erik “Killmonger” Stevens, a Wakandan raised in America—an outsider to his own homeland. This character is written so well, so empathetically that it’s weird to even call him a villain. It’s easy to agree with Killmonger’s motives to share Wakandan technology to help the oppressed people of African decent all over the world, and even though his methods are extreme, you see his point. How rare is it to be moved to tears by a film’s antagonist? But that happens in Black Panther thanks to Jordan’s phenomenal performance and Coogler and Joe Robert Cole‘s pitch perfect screenplay. Honestly, the only reason Killmonger isn’t #1 on this list is because he doesn’t show up until about halfway through the movie. But his impact is deeply felt long after the credits roll.
1. Loki – ‘Thor’ and ‘The Avengers’
But when it comes to the ultimate Marvel villain, come on, it’s Loki. Not a single MCU villain to date comes close to touching the pathos of Tom Hiddleston’s Loki, who basically stole Thor even before he was revealed to be an antagonistic force. We care about Loki, even when he’s doing awful things, and his story is ultimately one of tragedy. That’s what makes him compelling, and that’s what no other Marvel movie has been able to replicate. Granted, Loki got to build his pathos as a friendly face first before being outed as a baddie, but even in The Avengers there’s a dynamism to the performance and the role that makes it utterly watchable. While he’s no longer with us, and while Loki made the turn more towards “good guy” in later MCU films, he remains the most interesting and layered antagonist Marvel has introduced thus far.