Superheroes and supervillains have been locked in a never-ending battle for decades. But when their battles blow up on the big screen, who has been the very best of them all?
While superhero movies have exploded in popularity in the 21st century, they’ve been present in the medium almost since its beginning. Depending on one’s definition, 1920’s The Mark of Zorro marks the beginning of superhero movies, while the 1939 film Mandrake the Magician is the first comic book strip to get a movie adaptation.
More often than not, superhero movies live and die by the actors bringing them to life. After all, it takes a special kind of actor to convincingly play a man who can shoot lasers from their eyes, or wear a ridiculous costume without a hint of shame. But in rare cases, the actors chosen to star in superhero movies are revelations, elevating the material into something more than the humble origins of the genre.
Whether they’re actual superheroes or supervillains, or the people who surround them, these are the 32 greatest casting choices in superhero movie history.
32. Patrick Wilson as King Orm
On paper, Patrick Wilson maybe could have played Aquaman. He physically resembles the aquatic superhero, as he appears in the original comics. But in James Wan’s billion-dollar hit Aquaman from 2018 and its 2023 sequel Aquaman and the Lost Kingdom, Wilson instead plays Aquaman’s villainous half-brother King Orm, whose wish to become “Ocean Master” threatens the seas. In defiance to his popular image as a kind father figure type (usually in dark horror movies), Wilson shines in the Aquaman movies with rare ferocity and zeal that can convince you that he can, and maybe should, rule the ocean.
31. Brandon Lee as Eric Draven/The Crow
As the son of martial arts legend Bruce Lee, Brandon Lee was destined for stardom. A Hollywood heartthrob who effortlessly exuded cool (just watch his TV interviews, it’s startling to see how much like his father he was), his final film role came in the 1994 superhero movie The Crow, playing a murdered rock star who returns as a supernatural avenger. Though Lee’s performance is haunted by both the dark nature of the material and the grisly on-set accident that took his life, Lee’s Crow can still send shivers down the spine entirely because of his magnetic aura that held too much radiance for one lifetime to handle.
30. Bryan Cranston as Zordon
Before he was Walter White, Bryan Cranston was… Snizzard? Early in his career, Emmy-winner Bryan Cranston paid his bills as a voice actor for Saban Entertainment, lending his voice to several rubber monsters in Mighty Morphin Power Rangers. After winning critical acclaim from the AMC drama Breaking Bad, Cranston returned to his roots to play wise alien mentor Zordon in the 2017 reboot movie. Beneath all the cartoonish PG-13 absurdity, Cranston’s performance as Zordon is outsized and thunderous, being a frustrated alien entity desperately trying to save the world with what little cards he’s dealt only to come around to become the surrogate father figure a few mopey teenagers with attitude actually need.
29. Mark Ruffalo as Bruce Banner/The Hulk
It’s a mistake to think of Mark Ruffalo as merely a replacement for an excised Edward Norton. Emerging out of rom-coms and thrillers throughout the late 2000s, the actor/activist was hired by Marvel Studios to fill in for Norton as the new Bruce Banner/Hulk in 2012’s The Avengers. Not only did Ruffalo knock the role out of the park, but Ruffalo showed he was probably a better fit all along, perfectly playing Banner’s humble brilliance that demands contrast to his hulked out, monstrous alter ego. That Ruffalo has since played his Hulk for multiple Marvel projects and has never felt like he’s overstayed his welcome is a testament to his talent.
28. Grace Caroline Currey as Mary Shazam
Mary Shazam maybe isn’t a cultural icon like Wonder Woman, but she’s still one of the world’s first comic book superheroines. Such an important character needed an exciting young talent to wear her cape for 21st century audiences. Enter: Grace Caroline Currey, who starred as Mary Shazam in both 2019’s Shazam and 2019’s Shazam: Fury of the Gods (the latter of which actually had Currey in her superheroic threads). Lively but level-headed with extreme big sister energy, Currey’s performance as Mary Shazam is underrated throughout all of the DCEU franchise. Though Mary Shazam has never been a popular character to warrant her own titles, Currey’s part shows that you don’t have to lead your own movie to still be an attraction.
27. Robert Redford as Alexander Pierce
While Robert Redford’s role as S.H.I.E.L.D. figurehead Alexander Pierce in the 2014 Marvel movie Captain America: The Winter Soldier was primarily stunt casting to evoke the actor’s profile in 1970s political thrillers, the prestigious star still exceeded the limited parameters of his one-time Marvel movie villain. Cold, calculating, and fearsomely ruthless, Alexander Pierce is scary not because he’s a mustache-twirling antagonist seeking power but because he’s ultimately just a puppet, one who has fully subscribed to the nefarious dogma of HYDRA.
26. Yahya Abdul-Mateen II as David Kane/Black Manta
It’s a legitimate feat for an actor to have one of the coolest costumes in all of superhero movie history, and still be more interesting when the mask is off. In both of DC’s live-action Aquaman movies, Yahya Abdul-Mateen II stars as the pirate David Kane, aka “Black Manta,” who dons a cutting-edge power suit – a kitbash project utilizing illegal Atlantean weaponry – that lets him physically confront the half-Atlantean superhero Aquaman. But however incredible Black Manta looks onscreen, it’s Abdul-Mateen II’s performance that gives David/Black Manta his alluring gravity. When he verbally threatens to “kill Aquaman,” you just know he means it.
25. Jay Chou as Kato
In 2011, arthouse director Michel Gondry took on helming a big budget superhero comedy in The Green Hornet, a reboot of the 1960s TV series best remembered for its secondary male lead: Bruce Lee, as kung fu valet Kato. In the reboot led by Seth Rogen, Taiwanese pop star Jay Chou was enlisted to fulfill Bruce Lee’s leather shoes. Impossibly, Chou succeeds, perfectly becoming a “human Swiss army knife” (as Rogen’s Britt Reid puts it) whose expertise in all manner of things – chemical engineering, mechanics, martial arts, even coffee brewing – make him the real star of the whole shebang. Though The Green Hornet bombed in its February 2011 release, Chou impressively matches up Rogen’s energy, fostering an unlikely duo that frankly had way more in the gas tank than one middling movie implied.
24. Alfred Molina as Dr. Otto Octavius/Doc Ock
It’s not easy to play a supervillain and still inspire feelings of sympathy and sorrow over a brilliant mind corrupted by hubris. That’s Alfred Molina, in his memorable role as Dr. Otto Octavius, aka “Doc Ock,” in Sam Raimi’s Spider-Man 2. In a movie already full of amazing performances – looking at you, J.K. Simmons – Alfred Molina stands tall as a charismatic machine in an unconventional shell. Under Raimi’s masterful direction, Doc Ock becomes more than a goofy cartoon bad guy, but a tragic portrayal of one man’s genius getting the better of him.
23. Ron Perlman as Hellboy
Ron Perlman doesn’t show up in Guillermo del Toro’s Hellboy until well past the 20-minute mark. But his portrayal of Dark Horse’s best-known comics character is just so good, it’s hard to remember that fact at all. Despite being a child from the underworld, Hellboy’s obsession for endless consumption of television, candy bars, and cold beers make him possibly the most terrifying frat boy one could ever imagine. Through Perlman’s own deep voice and natural swagger, he was practically born to play such a laid-back avatar of evil.
22. Christopher Reeve as Clark Kent/Superman
Since 1978, audiences have truly believed that a man could fly, and it’s all thanks to Christopher Reeve. In Richard Donner’s stunning modern epic, the Man of Steel comes to life through then-unknown Christopher Reeve, whose handsome charms allow him to play both the heroic Superman and his alter ego, bumbling reporter Clark Kent. In one memorable moment that lives on for eternity, Donner’s camera lingers on Reeve portraying Clark; when Margot Kidder’s Lois Lane has her back turned, Reeve adjusts his posture – and puts on a small, wry smile – to remind audiences that Clark and Superman are actually the same man. If only Lois knew.
21. Hugh Jackman as Logan/Wolverine
Hugh Jackman has the heart and soul of a Broadway superstar. But on the big screen, he will forever be remembered as the anti-hero Wolverine. Since starring in the 2000 movie X-Men, Jackman’s portrayal of Marvel’s most famous X-Men member has traced the evolution of Hollywood superheroism, eschewing boy scout goodness in favor of something grittier and more feral. Superman he is not, Jackman’s Wolverine splits the difference between a guy who could chug an entire pint of beer and still look like a man who could steal Jean Grey away from Cyclops. Though Jackman temporarily retired from playing the role after the transgressive 2017 neo-Western epic Logan, his return in Deadpool 3 shows that legends truly never die.
20. Samuel L. Jackson as Nick Fury
When Samuel L. Jackson stepped out of the shadows in Tony Stark’s living room in the post-credits of Iron Man, no one knew just how much things were about to change. While Jackson’s involvement is mostly the result of negotiation between Marvel Comics and Jackson himself (long story, but it’s a good one), the Pulp Fiction star has masterfully seized this rare alignment of the stars to be one of the most enduring figures in the history of superhero movies. With multiple film and TV appearances under his belt, Nick Fury commands respect from everyone around him, even from aliens, all without having any powers of his own to speak of. He’s Nick Fury. He doesn’t need powers, he is power.
19. Chris Hemsworth as Thor Odinson
One of the biggest strokes of luck Marvel Studios ever had was casting Chris Hemsworth as the mighty Norse Avenger, Thor. Though the Australian hunk was virtually unknown in Hollywood – his biggest role before Thor was playing Captain Kirk’s father for all of five minutes, in the 2009 film Star Trek – the filmmakers of Thor took a chance on him, discovering a brawny man of action with killer comic timing. As Thor, Hemsworth has inspired audiences to both cheer and laugh, sometimes at the same time. Though Thor had long been played straight in the comics, being a godlike hero in a puny and fragile world of man, Hemsworth has unearthed new dimensions to make him feel more like ourselves than any of the other Avengers.
18. Paul Dano as The Riddler
Before Matt Reeves’ The Batman released in 2022, the Riddler was heavily associated with Jim Carrey’s manic energy in the 1995 film Batman Forever. But in Reeves’ more grounded comic book thriller, Dano inhabits the role as a dangerous sociopath who wants nothing more than to philosophically challenge “The Batman.” Though the Riddler is one of Batman’s most recognizable entities in his rogues gallery, the collaboration between Reeves as co-writer and director and Dano results in a fully reimagined Riddler whose chilling aura hits closer to home than we might care to admit.
17. Chadwick Boseman as T’Challa/Black Panther
After playing renowned Black American icons like Jackie Robinson and Thurgood Marshall, the late Chadwick Boseman entered a more fantastical realm in his portrayal of T’Challa, the king of Wakanda in the Marvel Cinematic Universe. In Black Panther, Marvel’s Afrofuturist fantasy affords space to imagine how much a society could have flourished for hundreds of years, had it been free from the horrors of slavery. In his portrayal, Boseman radiated a kind of ethereal dignity fitting for nobility. Though Boseman died in 2020 as a man, he will always be remembered as a king.
16. Elizabeth Olsen as Wanda/Scarlet Witch
From her first appearance in 2015’s Avengers: Age of Ultron to her heel turn in 2022’s Doctor Strange in the Multiverse of Madness, Olsen has been a formidable piece in the grand Marvel mosaic. While a large part of her story took place in Marvel’s big foray on streaming television (as the lead of Marvel’s inventive thriller WandaVision), her transformative journey is not something typically afforded to even the most long-lasting superheroes in movies. But such longevity can be attributed to Olsen, who inhabits her role with incredible depth and pathos. She might not be your usual butt-kicking superhero, but her fiery wrath makes it conceivable she could look at Thanos in the face and not flinch.
15. Michael Caine as Alfred Pennyworth
Alfred is a surprisingly complicated character that is all too easy to underestimate. On the surface, he’s Batman’s sardonic butler, an elderly surrogate father figure who is just a little flummoxed over the nighttime activities of a man whose diapers he once changed. But of all the live-action versions of Alfred, one stands tallest: Michael Caine, in Christopher Nolan’s Dark Knight trilogy. With a distinct East London accent implying a working class background, Caine plays Alfred as a man characterized by wisdom, whose understanding of the world isn’t read or even taught but experienced. Even when he gets to monologuing – and across the trilogy, he does quite a bit – he never sounds lecturing. He’s the perfect kind of Alfred for Batman: He’s there to patch his wounds, and bitterly remark how he could have avoided pain in the first place.
14. Patrick Stewart and Ian McKellan, as Charles Xavier/Professor X and Erik Lehnsherr/Magneto
Separately, Patrick Stewart and Ian McKellan are memorable as their leading mutants in the X-Men film franchise. Together, however, they are unstoppable. In multiple installments of Fox’s X-Men films, its best moments are usually whenever Xavier and Erik (aka, Professor X and Magneto) share screen time. Even better, they’re hardly ever throwing cartoon VFX at each other. Instead, they’re always just talking – as men, sometimes over games of chess. But even when they’re not together, they shine in their own ways; Xavier as the caring surrogate father figure for all lost mutants, and McKellan’s Erik/Magneto as the more militant revolutionary who believes mutant kind deserve more than equality. If Hugh Jackman was the reason anyone bought tickets to see the X-Men movies, Stewart and McKellan were together the reasons why anyone kept talking about them after leaving the theater.
13. Scarlett Johansson as Natasha Romanoff/Black Widow
In her meteoric rise to fame in the 2000s, Scarlett Johansson cemented her A-list status in the halcyon days of the MCU when she made her superhero movie debut as the lethally beautiful spy Black Widow in Iron Man 2. After holding her own in the male-dominated The Avengers, “ScarJo” has been irremovable from the character, her movie star radiance playing a huge part in the character’s mystique. Her death in Avengers: Endgame is still one of the heaviest moments for the franchise, and it’s due to the simple fact that it’s just inconceivable that Johansson isn’t an active part of the MCU.
12. Tony Leung as Xu Wenwu/The Mandarin
While his face is synonymous with Hong Kong romantic cinema, Tony Leung did the unthinkable when he made his Hollywood film debut through the 2021 Marvel blockbuster Shang-Chi and the Legend of the Ten Rings. Years after Marvel pulled a fast one on fans with the Mandarin in Iron Man 3 (played by Ben Kingsley, also a killer casting choice), Marvel enlisted Wong Kar-wai’s alluring collaborator to bring a richer vision to a comic character burdened by unseemly yellow peril imagery. In his battles with his son Shang-Chi, Xu Wenwu is a most complex figure, who doesn’t totally check either box; villain or father? He is both of those at once.
11. Wesley Snipes as Eric Brooks/Blade
Without Blade, there would be no Marvel Cinematic Universe. Emerging at a time before Marvel heroes really had their place in movies, Wesley Snipes took on the part of Marvel’s resident half-vampire vampire hunter Blade in a movie that is best described as peak ‘90s edginess. Even if Blade looks derivative of other ‘90s action movies – and indeed, it kind of is – Snipes excels as a mystifying title hero who hasn’t lost an ounce of cool in the many years since.
10. Ben Affleck as Bruce Wayne/Batman
Just like Michael Keaton before him, comic book superhero fans did not take kindly to Ben Affleck being hired to play Batman at first. But over time, Affleck has become a generation’s definitive Batman, imbuing the part with weariness and fatigue absent in most other Batman actors. With salt and peppered hair and a gruff masculinity that never stands in conflict with his playboy persona, Ben Affleck is arguably the best cinematic Batman damned to only appear in the worst Batman movies.
9. Bradley Cooper as Rocket Raccoon
It’s easy to take for granted a celebrity voice-over performance. But then we heard Bradley Cooper voice Rocket in the first Guardians of the Galaxy movie, and his performance of Rocket as a wry, short-tempered freak felt like a revelation. With Guardians of the Galaxy Vol. 3, which writer/director James Gunn constructed as the conclusion to Rocket’s story arc, Cooper proves he was more than celebrity stunt casting in a searing performance loaded with feelings like pain, regret, and vengeance. His face may be physically missing from the Marvel franchise, but Cooper’s performance proves he’s as part of it as any Avenger.
8. Ryan Reynolds as Wade Wilson/Deadpool
It’s more than just the fact that Ryan Reynolds is Canadian like Deadpool. With his comedy chops honed on network sitcoms, Reynolds’ casting as Wade Wilson made even a complete dud like X-Men Origins halfway watchable. After the movie briefly killed prospects of a spin-off Deadpool series, someone (ahem) leaked materials – including Reynolds voicing a more comics-accurate Deadpool – that proved to myopic studio executives how much gold they were actually sitting on. We’re glad they finally wised up.
7. Chris Evans as Steve Rogers/Captain America
Years after he lit up the screen as the sarcastic Johnny Storm in the Fantastic Four movies, Chris Evans suited up again as a totally different superhero: Captain America, one of the pre-eminent figures and moral role models in the entire Marvel Universe. Proving that Evans’ range as an actor is vast and wide, any memory of his Johnny Storm have been virtually forgotten, with Evans now better remembered as a stand-up man out of time whose big emotional hook is that he missed out on the love of his life. (At least until Endgame happened.)
6. Willem Dafoe as Norman Osborn/Green Goblin
“Goblin-like” is a most appropriate description for Willem Dafoe even if you were to wipe his Spider-Man role from the record. But as Norman Osborn, aka Green Goblin, Dafoe is convincing – and utterly enthralling – as a man who loses his sanity to his own science, whose deep-rooted insecurities finally bubble to the surface and transform him a la Jekyll and Hyde. Only an actor like Dafoe could capably pull off such a performance.
5. Michael Keaton as Bruce Wayne/Batman
Before everyone had the internet in their homes, Batman fans still protested in huge numbers the casting of Michael Keaton in Tim Burton’s Batman. But when the movie finally came out, the haters zipped their mouths shut and became lovers. Even now, Michael Keaton remains the measuring stick for all new movie Batman actors. Though his return to the screen in 2023’s The Flash hit with an unceremonious thud, nothing can tarnish just how much of a force Michael Keaton was as a generation’s Caped Crusader.
4. Angela Bassett as Queen Ramonda
We could just say that Angela Bassett has an Oscar nomination for her role in Marvel’s Black Panther: Wakanda Forever and move on. But as Queen Ramonda – in both Black Panther and Black Panther: Wakanda Forever – Angela Bassett delivers a mesmerizing and thunderous performance, playing a queen-mother who mourns the slow eradication of her family. Even in a universe teeming with superheroes and otherworldly creatures, few of them are as commanding as Queen Ramonda. She may not be an actual superhero, but Angela Bassett’s talents are undeniably superheroic.
3. James McAvoy as Wendell Crumb/The Horde
Forget that James McAvoy plays one of the most iconic Marvel characters of all time. In M. Night Shyamalan’s psychological thriller Split, McAvoy dazzles as the Kevin Wendell Crumb, whose diagnosed DID results in a multitude of split personalities. However offensive its portrayal of mental illness may be (and it is), there’s little arguing over McAvoy being so captivating in a technically remarkable performance. Utterly engrossing, McAvoy’s “The Horde” deserves greater recognition as one of the most chilling supervillains in movies of all time.
2. Heath Ledger as The Joker
“Why so serious?” With just three words, the late Heath Ledger cemented his immortality and introduced a most chilling catchphrase for a generation. In this modern reimagining of an iconic comic book villain, Heath Ledger grounded the Joker to evoke the cultural nihilism of the War on Terror. He’s not just a criminal mastermind, but a terrorist whose goal isn’t money or infamy, but for the simple reason that he could. And if an actual no-name like himself can bring the world to its knees, then what’s the point of the world in the first place? The Dark Knight wasn’t the first piece of Batman media to lock Batman and the Joker in a philosophical battle, but in retrospect, it’s becoming one of the most successful to ever do so.
1. Robert Downey Jr. as Tony Stark/Iron Man
It was not just the Hollywood comeback of the decade. Robert Downey Jr.’s performance as Tony Stark/Iron Man is the template for modern movie superheroes, his textured and layered inheritance of a character becoming the only way we think about the character at all. It’s only because of Downey Jr. that Marvel found the momentum to spawn a franchise empire that persists to this day. There’s simply no one else that can say the words “I am Iron Man,” and it feels like a scientific fact rather than a person’s subjective truth.