Every MCU Villain Ranked from Worst to Best

The Marvel Cinematic Universe has been an unprecedented success, the kind never before seen in Hollywood. Fifteen years, 32 films, with many critically acclaimed, box office hits. Not to mention the MCU’s several Disney+ series. And yet, if the MCU entries have a flaw, it’s that their villains aren’t always the most memorable. However, there are diamonds in the rough among the Marvel bad guys, and maybe some of these villains have been underappreciated.

So let’s countdown the MCU’s bad guys, from worst to best, and see where they all rank in the halls of villainy.

35. Sonny Burch (Ant-Man and the Wasp)

Sonny Burch, the low level baddie of Ant-Man and the Wasp
Marvel Studios

Ant-Man and the Wasp is a fun little adventure comedy. And it was a great palette cleanser after the heaviness of the Infinity War. Having said that, the character of Ghost (Hannah John-Kamen) is not really a villain. She’s more of a sympathetic antagonist—yes, even more so than sympathetic bad guys like Killmonger or Loki, who still really enjoy getting all murdery. That leaves only smarmy arms dealer Sonny Burch, played by Walton Goggins. There’s is nothing that makes him stand out as special at all, hence coming in at the very bottom.

34. Malekith (Thor: The Dark World)

Malekith the Accursed from Thor: The Dark World
Marvel Studios

Thor: The Dark World isn’t the worst Marvel Studios film. It’s near the bottom, but it is fun and entertaining enough that we always stop and watch whenever we catch it flipping through channels. Nevertheless, Malekith the Dark Elf is one of the least memorable and most boring of all the MCU villains. Everything about his performance, make-up, etc., is just totally forgettable.

33. Ronan the Accuser (Guardians of the Galaxy)

Ronan the Accuser from Guardians of the Galaxy
Marvel Studios

Credit where credit is due: actor Lee Pace has such a charming, nice guy face, it’s amazing he was able to come off as evil as the Kree villain Ronan the Accuser in the first Guardians of the Galaxy. Although he is convincingly an evil tyrant,  he’s also pretty much just your standard monologuing alien bad guy, who goes off on rants which end with his killing someone.

32. Dreykov (Black Widow)

Ray Winstone as Russian operative Draykov in Black Widow.
Marvel Studios

Black Widow’s arch-nemesis since Avengers has been the mysterious Russian operative, Dreykov. The manipulative psychopath operated the Red Room and kidnapped girls from all over the world to turn them into trained killers, including Natasha Romanov. When we finally meet Dreykov in Black Widow, Ray Winstone plays him with a questionable accent and with zero depth of character. The concept of the Red Room itself is way more menacing than Dreykov ever was.

31. Aldrich Killian (Iron Man 3)

Guy Pearce as Aldrich Killian in Iron Man 3.
Marvel Studios

The memorable villain in Iron Man 3, the Mandarin, is the fake-out villain in the movie. Played by Ben Kingsley, both his villainous persona of the Mandarin, which parodies every “scary voice” movie baddie ever, to the clueless actor who portrays him, Trevor Slattery, are a joy to watch on screen. Sadly, since he’s a decoy to the movie’s real bad guy, he doesn’t make this list.

Iron Man 3’s true villain is actually Guy Pearce as Aldrich Killian, another genius who Tony Stark slighted in his younger hedonistic days. Killian just feels like any bad guy in a ’90s action movie, except he breathes fire. He just never has enough personality to make an impression.

30. Justin Hammer (Iron Man 2)

Sam Rockwell as Justin Hammer in Iron Man 2
Marvel Studios

Watching Sam Rockwell chew the scenery as jealous weapons manufacturer Justin Hammer in Iron Man 2 is somewhat diverting, because it’s among the few times that the movie isn’t super boring. I’ll go on record as saying I think Iron Man 2 is the weakest of all the MCU films, but it at least it sparks to some kind of life whenever Sam Rockwell is on-screen. Here’s hoping he shows up in Armor Wars.

29. Dormammu (Doctor Strange)

Dormammu, Lord of the Dark Dimension, from Doctor Strange.
Marvel Studios

The dread lord Dormammu was really just a giant floating head in Doctor Strange, bent on dominating the universe. In that sense, he’s more or less just like Sauron in The Lord of the Rings films. However, the effects and designs that went into creating him were really cool and memorable. And his menacing voice came from none other than Benedict Cumberbatch, blended with the voice of another actor.

28. Ivan Vanko (Iron Man 2)

Ivan Vanko, also known as Whiplash, from Iron Man 2.
Marvel Studios

It’s hard to decide which of Iron Man 2’s villains was worse: Justin Hammer or Ivan Vanko, a weird combination of old-school Iron Man bad guys Whiplash and the Crimson Dynamo. While Sam Rockwell chews the scenery in a fun way, Mickey Rourke does so in a grating way. But, he edges out Rockwell’s Justin Hammer only because he got a cool action scene in an otherwise boring movie.

27. Emil Blonsky/The Abomination (The Incredible Hulk)

Emil Blonsky, before his Abomination transformation in The Incredible Hulk.
Universal Pictures

The Incredible Hulk is the red-headed stepchild of the MCU. Personally, I think it’s a perfectly decent comic book movie with some nifty action scenes, and Tim Roth gives a pretty good performance as an over-the-hill military operative who just wants to be able to keep kicking ass. No, he’s not the most nuanced villain, but we understood him, and he was fun to watch on screen. And although no longer a villain really, he was super fun to watch on She-Hulk: Attorney at Law.

26. Kaecilius (Doctor Strange)

Kaecilius in Doctor Strange channeling power from the Dark Dimension.
Marvel Studios

We don’t have anything really bad to say about Mads Mikkelsen’s turn as rogue sorcerer Kaecilius from Doctor Strange. I mean, this guy can do sophisticated Euro-evil in his sleep. And whenever he appeared, he was actually threatening. We realize this movie didn’t dive deeply into his backstory and motivations, but it was just enough for us to be satisfied with the final product. Plus he had cool glittery eye makeup; that helped.

25. Darren Cross/Yellowjacket/M.O.D.O.K (Ant-Man, Ant-Man and the Wasp: Quantumania)

Corey Stoll as Darren Cross, both Yellowjacket and MODOK in the MCU.
Marvel Studios

Ant-Man ended up being a delightful surprise. One thing that the movie didn’t nail, however, was the villain, Darren Cross. Played by Corey Stoll, this bad guy is really just a rip-off of Obidiah Stane from the first Iron Man. Basically, he’s another jealous corporate CEO type who feels that a paternal scientific genius figure should have paid more attention to him and not his actual children. However, as far as we’re concerned, Darren Cross got a big glow-up when he became M.O.D.O.K in Ant-Man and the Wasp: Quantumania. He leaned into the silliness of the character, and although never menacing, he was at least memorable. And hilarious.

24. Arthur Harrow (Moon Knight)

Arthur Harrow in Moon Knight, played by Ethan Hawke.
Marvel Studios

Ethan Hawke gave an appropriately slimy performance as cult leader Arthur Harrow, who worshipped the Egyptian goddess Amit, and tried to bring forth her wrath upon the world. Harrow was both a cult leader and a cultist, which is a fun combination to play, and Hawke did it well. But, there just wasn’t enough of him to really make him more memorable than some other MCU baddies, as the show was, understandably, far more focused on Moon Knight.

23. Ultron (Avengers: Age of Ultron)

The Ultron AI from Avengers: Age of Ultron.
Marvel Studios

In some circles, the Avengers’ second big villain Ultron gets a lot of hate. Is it because he’s an all-CGI character? Is he just too classic Whedon “Jokey-jokey” for some? While I understand the complaints, I get Ultron as a character and his motivations, and I enjoy James Spader’s slimy delivery of every line he utters. If Tony Stark is Ultron’s “father,” then he sure inherited Daddy’s tendency towards snarky delivery. We probably won’t, but we wouldn’t mind seeing Ultron again down the line sometime. He’s the MCU’s Frankenstein monster, and destroyed a whole country. You have our respect, Ultron.

22. Baron Helmut Zemo (Captain America: Civil War, The Falcon and The Winter Soldier)

Baron Zemo, as he appeared in Falcon and the Winter Soldier
Marvel Studios

The best villains have simple motivations that are easy to understand, and Helmut Zemo, played by German actor Daniel Brühl, is absolutely one of those. Having lost his family due to the events of Age of Ultron, he blames the Avengers, and it’s hard not to see where he’s coming from. His complicated plot to make the Avengers fight against one another holds up on multiple viewings, which is more than can be said for most of these villains. He’s not on-screen a lot in Civil War, but when he is, he makes good use of his screen time. Plus, he’s went on to become one of the best parts of The Falcon and The Winter Soldier. 

21. Obadiah Stane (Iron Man)

The first MCU villain, Obadiah Stane, also called the Iron Monger.
Marvel Studios

Obadiah Stane was the very first villain of the MCU, going back to 2008’s Iron Man. The whole “I was your right-hand man but I really hate you” thing has played out in a million movies before this one, and probably done better, but Jeff Bridges brings so much smarmy glee to the role, you kind of can’t help but enjoy him every second he’s on-screen. He gets points just for the way he yells “Tony Stark built one of these in a Cave! With a bunch of scraps!!!” Truly an iconic moment.

20. Alexander Pierce (Captain America: The Winter Soldier)

Alexander Pierce, as played by the legendary Robert Redford.
Marvel Studios

It was something of a stroke of genius to get Robert Redford, the star of so many paranoid conspiracy thrillers back in the ’70s, to play the man behind the giant conspiracy in Captain America: The Winter Soldier. But it’s not just stunt casting here; not only is Pierce’s evil HYDRA plan scary in almost a real-world way, Redford sells you on the fact that he’s a true believer in this kind of authoritarian rule. Also, watching an Oscar winner and acting royalty like Robert Redford say lines like “Hail HYDRA” meant comic book movies were no longer marginalized, second-rate entertainment.

19. Yon-Rogg (Captain Marvel)

Jude Law as the Kree soldier Yon-Rogg in Captain Marvel.
Marvel Studios

A few years ago, we would have all thought Ben Mendelsohn as Talos would be high on this list. But, SURPRISE! His Skrull character wasn’t actually a villain in Captain Marvel. The true villain of the film was Jude Law’s Kree Commander, Yon-Rogg. Although for most of the film he was portrayed as a strict yet paternal mentor to Vers, a.k.a. Carol Danvers, he later turned out to be anything but a good guy. And yet he’s great because we still get the sense he really genuinely cared about Carol, despite all his horrible actions.

18. The Red Skull (Captain America: The First Avenger)

Hugo Weaving as the Red Skull in the first Captain America film.
Marvel Studios

While most of the MCU villains try not to go for over-the-top comic book-style theatrics for their live-action incarnations, the same can’t be said for Hugo Weaving as the Red Skull—and that’s a good thing. Maybe it’s because the first Cap movie is a 1940s period piece, but we forgive a lot of the heavily accented mustache-twirling that Red Skull does here. It’s so era-appropriate, and Weaving seems to be having so much fun here. And really, how does one play a guy with a red skeleton face in a subtle way? You don’t. I’m glad Weaving just went for the jugular.

17. Arishem the Judge (Eternals)

Ashirem the Judge, the Celestial god from Eternals.
Marvel Studios

Eternals is not the most beloved MCU entry, and truth be told, it’s kind of hard to pinpoint who the “villain” even was. Was it the Deviants? Ikaris? In the end, they were all puppets of the cosmic gods known as the Celestials. And the Celestial who pulled all the strings in Eternals was Arishem the Judge. And it might have zero personality, but in terms of evil plans? How about creating Earth and humanity to give life to another Celestial and thereby casually destroying everyone on the planet? That is cold. But it showed commitment to playing the long game. It makes Thanos’ evil plan tame in comparison. If Arishem had an ounce of charisma, it would rank much higher. But, it’s just a giant scary red thing.

16. The Vulture (Spider-Man: Homecoming)

Michael Keaton as the Vulture in Spider-Man: Homecoming
Marvel Studios

The best Marvel villains have motivations that make sense, and among those is Adrian Toomes, a.k.a the Vulture, in Spider-Man: Homecoming. Played with the perfect balance of empathetic working-class everyman mixed with terrifying criminal (that scene with Peter Parker going to the prom!), Michael Keaton just nails it, and makes you genuinely care about his character and hope he doesn’t get killed off by the end.

15. Ego, the Living Planet (Guardians of the Galaxy Vol. 2)

Kurt Russell as Ego, the Living Planet, in Guardians of the Galaxy: Vol. 2
Marvel Studios

In many ways the polar opposite of Michael Keaton’s Vulture (one’s a god, the other lives in New Jersey), they both fall under the category of villains that you can’t help but kind of like. In the scenes where Ego’s just hanging out with his son Peter Quill, you get the sense that he cares about him in his own weird and twisted way. Of course, a lot of the reason Ego works at all is due to the fact that he’s played by  Kurt Russell, who can’t help his rugged charm. Impeccable casting is always Marvel Studios’ strength.

14. Mysterio (Spider-Man: Far From Home)  

Jake Gyllenhaal as Mysterio in Spider-Man: Far From Home.
Sony Pictures

The former contender to play Spider-Man wound up as the MCU Spidey’s best villain. So what makes Mysterio so great? First, he convincingly pulls off the charade of “I’m a fellow superhero too” to gain Peter Parker’s trust—not only to Peter, but to the audience. Even longtime comics fans who were well aware that Mysterio is a classic Spider-Man villain were wondering if the MCU version was maybe a good guy somehow. That’s how charming Jake Gyllenhaal was in the role. And his motivations for hating Tony Stark were more valid than Aldrich Killian’s in Iron Man 3. On top of all that, he gets the ultimate upper hand on Spider-Man by revealing the hero’s secret identity to the world. Not bad for a one-movie villain!

13. Kingpin (Hawkeye)

Vincent D'Onofrio as the Kingpin in Hawkeye.
Marvel Studios

It was sort of unclear who the true villain of the Hawkeye series was until the very end. Was it the Tracksuit Mafia? Echo? In some ways, Kate Bishop’s mother could be considered a villain (misguided is probably a better word for her). No, the final episode of Hawkeye revealed the true “big bad” of the series, and it was none other than Vincent D’Onofrio as Wilson Fisk, the Kingpin.

The Kingpin was not only pure rage combined with physical strength in the show’s finale, he had some of the best bad guy line deliveries in the MCU. Of course, fans already loved his version of Fisk from the Daredevil series, but since we only have this one episode of Hawkeye to go by, Wilson will have to settle for this spot. 

12. Gorr the God Butcher (Thor: Love and Thunder)

Christian Bale as Gorr the God Butcher in Thor: Love and Thunder.
Marvel Studios

In just a decade, Gorr the God Butcher became one of Thor’s best villains in the comics. And thanks to Thor: Love and Thunder, Christian Bale has made Gorr one of the most compelling villains in the MCU as well. Although Love and Thunder is mostly goofy and lighthearted, Gorr remains terrifying as he wields his Necrosword. He’s sympathetic as well.

When you meet him in the opening moments of the film, you feel for him. His motivations for wanting to end all gods tracked, as he witnessed firsthand how callous and indifferent they were to mortal suffering. Not only does Bale give a legit scary performance as Gorr (helped by great makeup), there’s a part of you that’s actually rooting for him. This is what helps Gorr transcend the likes of Malekith and other lesser MCU villains into the upper tier.

11. Kang the Conqueror/He Who Remains (Ant-Man and the Wasp: Quantumania, Loki)

Jonthan Major's as He Who Remains smiles in his chair on Loki, and Jonathan Majors sad as Kang the Conqueror in his multiversal ship's chair from Ant-Man and the Wasp: Quantumania
Marvel Studios

So far, Jonathan Majors has played two versions of the same character in the MCU. First, he appeared as “He Who Remains,’ the main baddie pulling the strings at the end of Loki season one. He barely appeared up in that episode, dying by the end of it. However, one of his variants, who actually went by the name Kang the Conqueror in Ant-Man and the Wasp: Quantumania, stole the show in that film. This Kang, exiled to the Quantum Realm, oozed menace. And he had no problem wiping out entire timelines if it suited his needs. Like any good villain, he could deliver an evil monologue for the ages.

10. Green Goblin (Spider-Man: No Way Home)

Willam Dafoe as Norman Osborn in Spider-Man: No Way Home
Sony Pictures

Technically, Willem Dafoe’s version of Norman Osborn from 2002 is the very first MCU villain, ever since Spider-Man: No Way Home retconned him into the larger Marvel Multiverse. In the original Sam Raimi Spider-Man, Osborn did a lot of damage to Peter Parker’s life, but was just shy of actually killing anyone he loved. But in No Way Home, he returned with a vengeance, ultimately murdering Peter’s Aunt May.

Yes, other classic villains returned for No Way Home, but none were truly that bad. Dafoe never missed a beat in his performance. He still made you feel compassion for his tortured soul, consumed by an alternate personality. Because of the permanent emotional damage he did to Peter Parker, the Green Goblin proved in No Way Home he will always be the most dangerous Spider-Man villain of all.

9. Hela (Thor: Ragnarok)

Cate Blanchett as the goddess Hela in Thor: Ragnarok
Marvel Studios

Does Thor: Ragnarok’s Hela have a great deal of complex motivation beyond the obvious? Well, no….but man, does Oscar-winner Cate Blanchett tear up the screen every second she’s in this movie. Vamping it up like a modern-day version of Eartha Kitt’s ’60s Catwoman, Blanchett is having so much fun it’s infectious. That’s a costume that could wear her, it’s so over-the-top, but make no mistake, she wears it. The role is thin on paper, but when you’re acting at 110%, it doesn’t really matter. Some roles are so memorable because they’re fun to watch, and Hela fits into this category.

8. Namor (Black Panther: Wakanda Forever)

Namor stands with his staff in Black Panther: Wakanda Forever
Marvel Studios

We struggled on whether or not to include Namor the Sub-Mariner on this list, because he’s so charming and likable, thus teetering into anti-hero territory. However, in Tenoch Huerta’s one and only appearance so far in the MCU in Wakanda Forever, he floods the African nation and kills Queen Ramonda. So, sorry, that puts him in the villain category for us. But like Magneto from X-Men, he has a reason for his despicable acts. It’s all to protect his Talokan people from the evils of the outside world. Unfortunately, the man worshipped as the Mayan god K’uk’ulkan did a lot of damage in the second Black Panther film, so he is ranked as a villain for now. That may change with subsequent MCU appearances.

7. Agatha “Agnes” Harkness (WandaVision)

Agatha Harkness in WandaVision
Marvel Studios

Wanda Maximoff herself might technically be the villain of WandaVision. But the one truly stirring the evil pot is none other than the “nosy neighbor” with a secret, Agnes. Or should we say, Agatha Harkness. The witch from olden times was drawn to the hex power Wanda exhibited in Westview, and wanted all the magical mojo for herself. So she played along with Wanda’s sitcom reality in hilarious ways, before proving that she was there to suck that magic dry. Not only is Kathryn Hahn perfect as both the annoying neighbor and as a deliciously powerful witch, she has the best theme song of any MCU character ever.

6. The Scarlet Witch (Doctor Strange in the Multiverse of Madness)

Wanda Maximoff, the Scarlet Witch, as played by Elizabeth Olsen.
Marvel Studios

The Scarlet Witch is the best kind of villain because she’s the kind you root for. If you’ve been on Wanda’s journey through all the MCU films and WandaVision, you understand the terrible losses that led her down the path of the dark side. In fact, the Scarlet Witch’s journey from hero to villain is better than her cinematic Marvel counterparts like Dark Phoenix, and dare we say, even better than Anakin Skywalker’s in Star Wars. And Elizabeth Olsen performs the hell out of the part in Multiverse of Madness, giving us pure driven rage coupled with heartbreaking vulnerability. Some may question her ever becoming a villain, but almost no one can question how good she is at being one. 

5. The High Evolutionary (Guardians of the Galaxy: Vol. 3)

The High Evolutionary in Guardians of the Galaxy Volume 3.
Marvel Studios

Guardians of the Galaxy: Vol. 3’s High Evolutionary might not be the most nuanced villain on this list, but for our money, he’s the most unrepentantly evil. Played by actor Chukwudi Iwuji to the hilt, the Evolutionary hits two of the necessary requirements for being completely unredeemable. First, he tortures cute little animals. Right there, that makes him someone we want to see get his comeuppance right away. Second, he’s a eugenicist, making him akin to Nazis on Earth. And third, he commits genocide on entire worlds he’s deemed as “genetic failures.” Yeah, this guy is hateable and then some. And actually legit threatening. Even though, as Peter Quill said, he had a Robocop-looking head.

4. Erik Killmonger (Black Panther)

Erik Killmonger as played by Michael B. Jordan in Black Panther.
Marvel Studios

Michael B. Jordan as Erik Killmonger in Black Panther is the best kind of villain, because though he might be misguided, he wasn’t entirely wrong. In this instance, his points about why T’Challa and his father before him have let their people down for centuries as they hid Wakanda away from the outside world are hard to debate against. But like Magneto, his methodology is twisted, and his moral compass is skewed by his own horrible life experience, which is what ultimately makes him a villain. In a movie that is filled with memorable characters, Killmonger shining so brightly is no small thing.

3. Wenwu (Shang-Chi and the Legend of the Ten Rings)

Wenwu, a.k.a. The Mandarin, in Shang-Chi and the Legend of the Ten Rings.
Marvel Studios

Phase 4’s villains were kind of “meh.” But when Shang-Chi came out, we all collectively said “now we’re cooking with fire.” Because that’s what Shang-Chi’s father, Xu Wenwu, is: fire. Teased since the first Iron Man, when the Ten Rings organization kidnapped Tony Stark, Tony Leung’s portrayal did not disappoint. As an ancient immortal, he was a ruthless criminal warlord, a tender-loving husband, and a delusional grieving widower—oh, and a terrible father (most of the time). Tony Leung gives layers to this villain, making him not only the best of all the Phase 4 baddies, but one of the best MCU antagonists, period.

2. Loki (Thor, Thor: The Dark World, Thor: Ragnarok, Avengers, Avengers: Infinity War, Avengers: Endgame, Loki)

Loki in the first Avengers film, played by Tom Hiddleston.
Marvel Studios

People might not love all the Thor movies, but there is just no question that they gave us one of the very best villains in not only the Marvel Cinematic Universe, but just one of the best villains in movie history. Tom Hiddleston brings a metric ton of Shakespearean-level weight to the role of the adopted son of the King of Asgard, and yet manages to make him endearingly witty as well. As we’ve said for many of the previous entries on this list, the key to a great villain is that you kind of have to like them on some level and root for them, and Loki is the epitome of that. Whether he’s destroying New York or brooding in a jail cell, we all can’t help but love the god of mischief. We’re so glad he’s finally earned his own spotlight.

1. Thanos (Avengers, Guardians of the Galaxy, Avengers: Age of Ultron, Avengers: Infinity War, Avengers: Endgame)

Thanos, the Big Bad of the MCU's Infinity Saga.
Marvel Studios

Ever since the post-credits tag at the end of Avengers, Marvel teased the imminent arrival of the character who was supposed to be their biggest bad, the “Mad Titan” known as Thanos. Almost since the beginning, Kevin Feige and the folks at Marvel said Thanos would be the Marvel Universe’s Darth Vader (no pressure or anything). After all that build-up, he had to be great.

After all those years, Thanos, as played by Josh Brolin finally made his real presence known in Avengers: Infinity War and he did not disappoint. He was instantly one of Marvel’s most complex and nuanced villains. Before the credits even rolled, he mopped the floor with the Hulk. Then he killed Loki, almost as if to say “you know that guy who was Marvel’s best baddie? Yeah, I just killed him. Who’s the best villain now?”

Usually, the villains who are the most dangerous are the ones who think they’re the hero, something Thanos absolutely does believe. Plus, unlike all the other villains on this list, Thanos isn’t all talk; he actually won at the end. Most CGI villains are forgettable, but Brolin’s acting and personality always came through the purple pixels, truly making the Mad Titan one of the great movie villains, and easily the Marvel Cinematic Universe’s best villain yet. He was completely okay with dying once he completed his life’s work in Endgame. He didn’t care if he died in the process. Just as long as the “work was done.”

Originally published on February 21, 2018.

Top Stories
More by Eric Diaz
Trending Topics