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.
10. Yon-Rogg – Captain Marvel
There’s a recurring theme in the MCU of “good guys who turn out to be the bad guys,” and while Jude Law‘s Yon-Rogg in Captain Marvel isn’t as forgettable as Yellowjacket, he’s nowhere near as substantial as someone like Ego the Living Planet. Part of that is due to a miscalculation on the part of the Captain Marvel‘s filmmakers and Law’s performance—it’s abundantly clear that he’s a bad dude early on in the film, but the movie wants you to believe he’s an ally to Carol until the third act.
Much of Law’s screentime is spent merely talking to Carol via Space Phone and trying to steer her clear of answers, and while one could maybe make the argument that he’s a stand-in for “Man Who Gaslights Woman Then Thinks She Owes Him for Helping Her,” there’s simply not enough for Law to do for the film to really dig into anything of substance.
That’s kind of the give and take of a villain reveal like this, and for his part Ben Mendelsohn is fairly compelling when we’re under the impression that his character Talos is the film’s Big Bad. I will say the larger twist that the entire race of the Kree turn out to be the bad guys while the Skrulls are actually the good guys is an interesting one, as the film examines how meeting and getting to know someone markedly different from you can allow you to see the world from an entirely different point of view (empathy, amirite?). But for the purposes of this list, since Yon-Rogg is technically Captain Marvel‘s villain, he lands towards the back half of the pack.
09. 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.
08. 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.
07. 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
06. 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.
05. Dreykov – Black Widow
The primary villain of Black Widow is shrouded in mystery for the bulk of the film. We meet Dreykov (Ray Winstone) early on in the film, and we know he’s who Natasha and Yelena are going after, but Winstone doesn’t really get to do anything until the climax of the story. As far as villains go he’s pretty terrifying, largely in that he’s a man controlling the minds and bodies of a cadre of young women across the world. He’s disgusting, and Winstone delivers a pretty solid performance. But in the canon of MCU villains, despite the fact that his emotional connection to Natasha, Yelena, and Melina is pretty effective, Dreykov is largely forgettable.
04. Xu Wenwu – Shang-Chi and the Legend of the Ten Rings
The best villains are those with whom we can empathize. The thread connecting the most forgettable MCU baddies are that we don’t really care or care to understand what it is they want. They exist simply to serve as a physical antagonist for our hero. But the brilliance of how Shang-Chi and the Legend of the Ten Rings constructs its protagonist/antagonist relationship is that it’s constantly subverting expectations.
The entire introduction to the film allows us to understand where, exactly, Xu Wenwu is coming from and what motivates him, and the second act of the movie finds our protagonist and antagonist in close quarters, having a dialogue that allows Shang-Chi to better understand his father — or at least his father’s motivation. That makes the third act all the more satsifying, and all the more tragic, as Tony Leung sells the heck out of a man blinded by love and guilt to that point that it puts his family in harm’s way. Leung’s performance is beautifully layered, on top of the fact that he fully kicks ass. 24 films in, Marvel is still capable of surprising us, and of introducing us to some of the most memorable characters the MCU has unveiled thus far.
03. Thanos – Avengers: Infinity War and Avengers: Endgame
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.
In terms of impact on the MCU characters, yes, Thanos is the baddest of them all. He kills half the universe! But in terms of “best” villains—characters who are fascinating, charismatic, and dare I say empathetic—Thanos doesn’t quite top this list. Some hail 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 allusions to Thanos’ backstory as motivation here and there, but ultimately we’re not given a super compelling reason why beyond “Thanos is deadly passionate about his political beliefs.” Which, sure, that’s certainly something that happens in reality, but in terms of dramatic effect it doesn’t quite do the trick.
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 where Thanos sacrifices Gamora for 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. When it comes time for Avengers: Endgame, Thanos largely takes a backseat to the OG Avengers, and while Past Thanos brings the fury in the film’s climactic moments, a formidable physical presence doesn’t overcome the character’s shortcomings in other departments. Is Thanos a good Marvel villain? Absolutely. Is he the best? Ehhh…
02. Loki – Thor and The Avengers
When it comes to the ultimate Marvel villain, Loki held that title for a long time. Not until our #1 appeared did a single other MCU villain match 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 Loki made the turn more towards “good guy” in later MCU films, he remains one of the most interesting and layered antagonists Marvel has introduced thus far. Which is why he’s getting his very own disney+ series.
01. 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. Killmonger’s impact is deeply felt long after the credits roll, and I haven’t been able to get his parting words out of my head ever since I first saw the film: “Bury me in the ocean with my ancestors that jumped from the ships, because they knew death was better than bondage.”