The Marvel Cinematic Universe has been an unprecedented success, the kind never before seen in Hollywood. Fourteen years, 28 films, almost all critically acclaimed, box office hits. Not to mention 6 Disney+ series. And yet, if they 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. Oh, and these are just proper MCU bad guys, so no Agents of S.H.I.E.L.D., Runaways, or the like. Only the Disney+ series are included, as they are “Kevin Feige approved.”
33. Sonny Burch (Ant-Man and the Wasp)
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 the unfortunate standing of coming at the very bottom.
32. Malekith (Thor: The Dark World)
Thor: The Dark World isn’t the worst Marvel Studios film — that honor goes to Iron Man 2. It’s near the bottom, but it is fun and entertaining enough that I always stop and watch whenever I catch it flipping through channels. Nevertheless, poor Christopher Eccleston’s turn as Malekith the Dark Elf is absolutely one of the least memorable and most boring of all the MCU villains. Everything about his performance, make-up, etc., is just totally forgettable. Maybe it was his direction or the writing, but it was just yawn-inducing.
31. Darren Cross/Yellowjacket (Ant-Man)
Ant-Man ended up being a delightful surprise, despite all the negative behind-the-scenes drama surrounding its production. One thing that they didn’t nail it though 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. While his final fight with Ant-Man is one of the movie’s best moments, I’m more than okay if we never see Cross again in the MCU.
30. Ronan the Accuser (Guardians of the Galaxy)
Credit where credit is due: actor Lee Pace has such a charming, nice guy face, it’s amazing that 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 insane rants which end with his killing someone. He’s everything we hated about Steppenwolf in Justice League, minus the terrible CGI. Ronan’s makeup looks convincing at least.
29. Dreykov (Black Widow)
Black Widow’s arch-nemesis since Avengers has been the mysterious Russian operative, Dreykov. Even if only by name. The manipulative psychopath operated the Red Room, which kidnapped girls from all over the world and turned them into trained killers, including Natasha Romanov. When we finally meet him in Black Widow though, 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. We weren’t sad to see him go.
28. Aldrich Killian (Iron Man 3)
The memorable villain in Iron Man 3 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 can’t be used on 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. He has a few decent scenes though, and Guy Pearce always acts the hell out of everything.
27. Justin Hammer (Iron Man 2)
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 (yes, even over Thor: The Dark World and Incredible Hulk. Don’t come for me), 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.
26. Dormammu (Doctor Strange)
The dread lord Dormammu is 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 really cool menacing voice came from none other than Benedict Cumberbatch himself, who was blended with the voice of another actor. Cumberbatch saw the ancient entity as a dark reflection of himself, and his performance is memorable if brief.
25. “He Who Remains” (Loki)
Loki didn’t have a central villain, so this one is hard to pinpoint. Is it Sylvie? Not really, as she became a sympathetic co-lead pretty quickly. Is it the Time Variance Authority? That would be more like it. But the TVA has a secret “man behind the curtain” who caused all of Loki’s woes, and that was Jonathan Majors’ “ He Who Remains.” This scientist from another universe created the organization that was a huge thorn in Loki’s side, so we guess he’s the bad guy? But he was more interesting than threatening, however. We know when Majors returns as Kang he’ll be a “Big Bad,” but right now, he feels more like a tease for a villain than a villain himself.
24. Ivan Vanko (Iron Man 2)
It’s hard to decide who sucked more of Iron Man 2’s villains: 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. When he was fighting Tony Stark, I at least remembered this was an Iron Man movie still, and not “RDJ and friends throw out the script and improv.”
23. Emil Blonsky/The Abomination (The Incredible Hulk)
The Incredible Hulk is the red-headed stepchild of the MCU, maybe because it’s the only one that underperformed at the box office, and had to have their lead replaced. 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 I understood him, and he was fun to watch on screen.
22. Kaecilius (Doctor Strange)
I 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 was on screen, he was actually threatening. I realize this movie didn’t dive deeply into his backstory and motivations, but it was just enough for me to be satisfied with the final product. Plus he had cool glittery eyes. That helped.
21. Arthur Harrow (Moon Knight)
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 far more focused on Moon Knight himself. Maybe if we’d seen a few more sides to Harrow, he would have ranked higher.
20. Ultron (Avengers: Age of Ultron)
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 I wouldn’t mind seeing Ultron again down the line sometime. He’s the MCU’s Frankenstein monster, and destroyed a whole country. You have my respect Ultron.
19. Baron Helmut Zemo (Captain America: Civil War)
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 frankly, it’s hard not to see where he’s coming from. His complicated plot to make the Avengers fight against one another actually holds up on multiple viewings, which is more than can be said for most of these villains. He’s not onscreen a lot in Civil War, but when he is, he makes good use of his screen time. Plus, he’s now become one of the best parts of The Falcon and the Winter Soldier.
18. Obadiah Stane (Iron Man)
The very first villain of the MCU, going back to Iron Man. The whole “I was your right-hand man but I really hate you” thing has been 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. Ok, less so when he’s in the Iron Monger suit, but in every other part of the movie? He’s aces. He gets points just for the way he yells “Tony Stark built one of these in a Cave! With a bunch of scraps!!!”
17. Alexander Pierce (Captain America: The Winter Soldier)
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.
16. Yon-Rogg (Captain Marvel)
A year or so 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 is portrayed as a strict yet paternal mentor to Vers, a.k.a. Carol Danvers, he later turns 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.
15. The Red Skull (Captain America: The First Avenger)
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 because the first Cap movie is a 1940s period piece, but we forgive a lot of the heavily accented mustache-twirling that the Red Skull does here, because it’s just so era-appropriate, and Weaving just 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, and I’m glad Weaving just went for the jugular.
14. Arishem the Judge (Eternals)
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 shows 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, hence this ranking.
13. The Vulture (Spider-Man: Homecoming)
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 (spoilers: he doesn’t). While not the best cinematic Spidey villain –that award still goes to Doc Ock– the MCU Spider-Man rogue’s gallery gets off on the right foot here.
12. Ego, the Living Planet (Guardians of the Galaxy Vol. 2)
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. OK, less so with Ego, who is a mass murderer, but in the scenes where he’s just hanging out with his son Peter Quill, you honestly get the sense that he really does care 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.
11. Mysterio (Spider-Man: Far From Home)
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 is. And his motivations for hating Ton Stark were frankly 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!
10 .Kingpin (Hawkeye)
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, although misguided is more like it. 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 we’re still not sure if that show is MCU canon or not. If it were, he would likely be near the very top. But since we only have this one episode of Hawkeye to go by, Wilson will have to settle for this spot.
9. Gorr the God Butcher (Thor: Love and Thunder)
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 completely, as a grieving father who just lost his child. His motivations for wanting to end all gods does make sense, as he witnessed firsthand how callous and indifferent they are 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.
8. Green Goblin (Spider-Man: No Way Home)
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, he did a lot of damage to Peter Parker’s life, but was just shy of actually killing anyone he loves. 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, delivering his evil monologues with sadistic glee. And yet, 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.
7. Hela (Thor: Ragnarok)
Does Thor: Ragnarok’s Hela have a great deal of complex motivation beyond the obvious? Well, no….but man, does Oscar winner Cate Blanchett just 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 just 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 just because they’re fun to watch, and Hela fits into this category.
6. Agatha “Agnes” Harkness (WandaVision)
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. More Agatha, please.
5. The Scarlet Witch (Doctor Strange in the Multiverse of Madness)
The Scarlet Witch is the best kind of villain. Because she’s the kind you kind of 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.
4. Erik Killmonger (Black Panther)
Michael B. Jordan as Erik Killmonger in Black Panther is the best kind of villain, because though he might be misguided, he isn’t wrong. Much like Magneto over in the X-Men films, Killmonger makes a ton of good points that you can’t help but agree with. 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. 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)
Phase 4’s villains have so far been “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 Iron Man 1, 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)
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 I’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 notion. 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)
Ever since the post-credits tag at the end of Avengers, Marvel has been teasing 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 have been saying that Thanos would be the Marvel Universe’s Darth Vader (no pressure or anything). After all that build-up, he had to be great. But fans were rightfully worried. Just look at the bottom half of this here list to see why.
Well, turns out, they didn’t need to worry at all. After all these years, Thanos, as played by Josh Brolin, who has been playing him in cameo form since Guardians of the Galaxy, 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, whose motivations kind of/sort of made sense, despite still being a genocidal madman. Before the credits even roll, he mops the floor with the Hulk. Then he kills 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. And unlike all the other villains on this list, Thanos isn’t all talk — because he actually wins 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 on easily the Marvel Cinematic Universe’s best villain yet. He was completely OK 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.”
Featured Image: Marvel Studios
Originally published February 21, 2018 with updates on May 2, 2019, June 23, 2020, April 12, 2021, and May 16, 2022.