Comic book fans are spoiled when it comes to movies these days. Not only are we getting more each year than ever before, they are (for the most part) well-made, well-directed and arguably most important, they're well-cast. Even the less successful superhero outings have filled the screen with fantastic actors, if nothing else. With the bar for quality being so high, it’s easy to forget we didn’t always have it so good.
Before the golden age we’re living in now, movies based on comics rarely attracted the best actors. In fact, outside of classic performances like Michael Keaton in Tim Burton’s Batman and Christopher Reeves in Superman, casting often seemed like an afterthought. Some movies just cast the biggest name they could get to accept the role. Others became a veritable “who’s that” of Hollywood. Either way, it rarely worked out. In this list, we’re counting down the worst casting crimes in comic book movie history.
15 Topher Grace as Venom
The Sam Raimi "Spider-Man" trilogy brought comic book movies back into the mainstream. Well, the first two films did anyway. "Spider-Man 3" first showed signs of trouble with the announcement that it would feature three villains. Fans worried that the movie would feel overcrowded. They were right, but the problems were greater than anyone suspected. James Franco as Green Goblin was a poor follow-up to Willem Dafoe and Thomas Haden Church was forgettable as Sandman, but neither of them left a lasting smear on the series quite the way Topher Grace did as Venom.
Instead of the dark and unstable Eddie Brock we know and love, Grace’s version of the character was just kind of a jerk. He was obnoxious, sure, and he cheated to get ahead, but there was nothing scary about his Brock, whether he was wearing the suit or not. With nothing even remotely unhinged about Grace’s performance, Brock's transformation into a villain felt rushed and unbelievable. Venom should have been the toughest, most frightening threat Spider-Man had ever faced. Instead, he was a petulant little kid in a costume three sizes too large.
14 Jennifer Garner as Elektra
We may never know exactly why Jennifer Garner turned in such a poor performance as Elektra in "Daredevil." It’s not because she doesn’t have action chops. Go back and watch "Alias," and you’ll see she makes a fantastic action hero. Whether it was the plodding script, the clumsy direction or both, Garner delivered a brooding and dour performance without any hint of an edge. This Elektra had no hint of recklessness, none of the dangerous, enticing personality that’s supposed to attract Matt Murdock to her in the first place.
With no chemistry between the two leads (who later got married in real life and are now divorcing), the romance in "Daredevil" fell flat. The infamous playground fight scene between the two would-be lovers is possibly the most unintentionally awkward flirtation ever captured on film. All this would be bad enough, but then "Elektra" happened. Just when Garner was starting to move on from what many considered to be a trash heap in "Daredevil," she was contractually obligated to appear in something worse. A spin-off/sequel nobody wanted, "Elektra" felt forced from the very first trailers. Garner was clearly just trying to get it over with, giving us the blandest, most bored-looking superhero/assassin we’ve ever seen.
13 Alicia Silverstone as Batgirl
Joel Schumacher's "Batman and Robin" is a notoriously terrible movie, almost killing the superhero movie genre for good. When judging Alicia Silverstone’s performance as Batgirl, it’s important to remember that the script didn’t do her any favors. That said, even considering the material she was working with, her performance is nothing short of abysmal. Every line sounds like she’s reading it for the first time. She’s supposed to be Alfred’s niece (no Barbara Gordon in this series), but her few interactions with him feel forced, like they’ve never met each other before. She shows no fighting prowess throughout the entire movie, so when she dons the Batgirl costume at the end, it comes out of nowhere.
Silverstone is also not an action star. Nobody in the film moves well in their costumes, but she was especially awkward. This is particularly evident during her fight with Poison Ivy. You’d think she’s never punched or kicked anyone before. Every time she attacks, she looks like she’s desperately trying to keep her balance, like the fact that she has to fight anyone in this movie comes as a complete surprise. It’s no wonder this role earned her a Razzie for Worst Supporting Actress.
12 Vinnie Jones as The Juggernaut
What a disappointment "X-Men 3: The Last Stand" was. The first two "X-Men" movies are still widely regarded as two of the best comic book movies ever made. The third movie, directed by Brett Ratner, did away with all the deeper character exploration of the first two films and turned into a standard good-guys-versus-bad action movie. It’s a shame too, because the "Phoenix Saga" deserves so much better than that.
The most disappointing addition to the series had to be Vinnie Jones’s performance as the Juggernaut. Here is one of the X-Men’s most formidable foes, reduced to a side character. The complexity of the comics villain is all gone, replaced with an angry guy who runs through walls. His big climactic moment is yelling “I’m the Juggernaut, bitch” at Kitty Pryde before knocking himself out. The Juggernaut's entire character in "X-Men 3" was based on an internet meme. The best part of X-Men is how complex the conflict is. The villains aren’t necessarily evil. They are truly doing what they think is right. Jones ignores all of that and gives us a big, mean bruiser who exits the movie as quickly as he’s introduced.
11 John Travolta as Howard Saint
There’s a lot to dislike about the 2004 "Punisher" movie, but nothing in it is quite as bad as John Travolta's performance. His Howard Saint is the only thing that saves Thomas Jane from being who many feel is the worst actor in the movie. He’s not even a character in the comics. Acting as a half-replacement for Ma Gnucci, Howard Saint fails to strike fear into audiences' hearts the way his comic-book equivalent did. He’s not scary, he’s not menacing, and he’s not even funny. He’s just collecting a paycheck.
Watching the movie, you can tell the producers were really trying to evoke Travolta’s earlier performances from better movies like "Pulp Fiction" or even "Get Shorty." Instead, they got a cartoon character. A one-dimensional performance from an actor who’s just going through the motions. Whatever fun there might have been in this movie, Travolta's Saint ensures that even his inevitable defeat is as joyless and dull as humanly possible.
10 Halle Berry as Catwoman
It’s honestly shocking that "Batman Begins" ever managed to come out given that the stinker that was "Catwoman" was released the previous year. There is absolutely nothing about this movie that works. The plot is a mess, the action scenes are so poorly choreographed that it's almost funny, and the main character’s origin is ridiculous. Instead of Selina Kyle being a skilled burglar who also likes cats, this movie is about Patience Phillips, a graphic designer for a cosmetics company. Exciting! When a magical cat saves her from drowning, she wakes up with cat-like superpowers. And a craving for Fancy Feast.
Halle Berry’s performance defies the odds to become the most baffling thing about this movie. Keep in mind that Berry had recently won an Oscar. She can act. She’s normally very good at it. What happened here? This wasn’t even Berry just collecting a paycheck, she’s actually trying in this movie. She’s giving it her all. That’s the problem: no actor would look good in this role. Berry’s performance only emphasized how unnatural and cringe-worthy the movie is. The harder you swing, the worse it looks when you miss.
9 Dolph Lundgren as The Punisher
Fans like to debate whether the 2004 "Punisher" or the reboot, "Punisher: War Zone," was the worst movie made about the vigilante anti-hero. Often, they forget the 1989 original that out-stunk them both. With the absolute thinnest of plots, fake-looking fight sequences and special effects that weren’t even impressive when the movie came out, 1989’s "The Punisher" makes the two more recent attempts look Oscar-worthy.
The acting is probably the worst part of this movie. Dolph Lundgren is the guy you call when you can’t get Arnold Schwarzenegger or even Jean Claude Van Damme. He can’t act, but he can look tough-ish. That was apparently enough to secure him the role of Frank Castle. Many people have found things to like about Thomas Jane and Ray Stevenson’s takes on the character. Not so with Lundgren’s. He’s an emotionless vigilante who makes fighting bad guys look as fun as doing laundry. You’d think having his family murdered by the mob would make Castle feel something, but you wouldn’t know it from this performance. The Punisher is already a tough character to get right on screen, but turning him into a generic ‘80s action hero was definitely the wrong move.
8 Sylvester Stallone as Judge Dredd
Picture Judge Dredd in your mind. The helmet is likely the thing that stands out the most. It’s an iconic part of his character design. In the comics, he’s never seen without it. So why would they make a movie where Dredd spends most of his time not wearing it? Apparently, it's so we could fully appreciate the majesty of Sylvester Stallone's acting.
Judge Dredd’s face is obscured in the comics for a reason. He is so dedicated to his job that he can’t be anything else but a judge. He’s turned down promotions multiple times because being a street judge is who he is. That is nowhere in Stallone’s performance. Everything is so over-the-top that you can’t take it seriously. There’s an infamous scene where a screaming, helmetless Dredd mangles the line, “I am the law!” It’s the perfect distillation of what this movie has to offer: bad acting, goofy production values and complete ignorance of everything that makes the comics great.
7 Ben Affleck as Daredevil
Earlier in the list, we talked about Jennifer Garner’s performance as Electra in this movie. As bad as her performance was, it didn’t even begin to approach the depths to which Affleck sunk. Kevin Smith recently revealed that the only reason Affleck took this role was because he thought he’d never get to play Batman. Going back and watching this movie, it shows. It feels like a second-choice performance. Affleck is playing a character he has no interest in or enthusiasm for. It drains any potential energy from an already dull superhero film.
Affleck’s Daredevil was the most basic, one-dimensional interpretation of Frank Miller’s version of the character. All anger and grit, none of the fun, thrill-seeking personality that makes Matt Murdock a character worth reading about. Remember that this movie came out the same year "Gigli" did. This was Affleck at his worst. None of the lines sound natural and his few attempts at humor come off as smug and groan-inducing.
6 Keanu Reeves as John Constantine
Talk about a complete misinterpretation of a character. John Constantine is wry and witty with a deep compassion for the rest of humanity underneath his cynical exterior. He's weathered and weary, using his sense of humor to keep fighting. Exactly none of that was present in this movie. Keanu Reeves makes a fine action star, but the complexity of this character was completely lost on him. Instead of wit, Reeves’s Constantine just gave everyone the finger.
Worst of all, this version of the character was just boring thanks to "Constantine" also suffering from a weak story and weaker writing. He didn’t grow or change over the course of the movie. The stakes never felt higher for him. It was the same dull, flat performance for the entire two-hour runtime. The movie even made Constantine uncharacteristically reliant on guns and couldn’t even make that fun. They gave him a holy automatic shotgun and somehow made it boring. That shouldn’t even be possible!
5 Arnold Schwarzenegger as Mr. Freeze
Arnold Schwarzenegger was the big draw for "Batman and Robin." On the poster, his name was billed higher than either of the titular leads. It’s possible this happened because he gave the best performance in the movie, but that isn’t saying much. Mr. Freeze was one of Batman’s more generic adversaries until the '90s animated series rewrote his backstory, adding depth and tragedy to his character. This movie tried to borrow some of that credibility by integrating the new backstory into its plot. Unfortunately, they somehow forgot all the nuance and subtlety of the cartoon.
In its place was a cheesy muscle-man with an unlimited supply of ice puns. Sure, he’s trying to cure his terminally ill wife, but he seems more preoccupied with writing witty temperature-based retorts to use on the two heroes. It’s hard to empathize with Freeze when he’s jumping up and down, screaming “get the heroes” at his hockey player henchmen. Schwarzenegger somehow managed to make Mr. Freeze more of a cartoon character than he was in the actual cartoon.
4 Matt Salinger as Captain America
If you ever wondered why it took so long for Marvel Studios to make a Captain America movie, look no further than the 1990 direct-to-video classic. Cap’s origin and World War II adventures are rushed through in the first 20 minutes of the movie, and he’s encased in ice for 50 years. What emerges is the most lethargic superhero in movie history.
Nothing Matt Salinger does makes Captain America look cool. Every fight, every superhero feat feels like a chore. Salinger looks winded after every clumsy movement. The guy isn’t exactly out of shape, but he seems like he can barely keep up with the action of the movie. Even the costume looks bad on him. You can almost feel the embarrassment coming through the screen. His line-reads are so bad, they border on parody. If you ever wanted to hear Captain America give an unenthusiastic cry of “Gee whiz,” this movie is for you.
3 Nicolas Cage as Ghost Rider
You don’t need to add much to make Ghost Rider cool. He’s a demonic biker with a flaming skull for a head and a fiery chain. So why is Nicolas Cage trying so hard to convince us he’s cool in this movie? The smug satisfaction with which Cage delivers each line begins to grate after five minutes. It seems like Cage really wants you to be impressed with his performance in this movie, but his performance ends up missing the mark by so far that you wonder if he even read the script before his first day on set. Even his attempts at levity are forced.
It’s not as though Ghost Rider is impossible to make work outside of comics. Just watch the most recent season of Agents of S.H.I.E.L.D. if you want to see the character done right. There is no depth to Cage’s portrayal of the character. He has all the nuance of a 1990s “extreme” toy commercial that stretched into a full length film and released about 10 years too late. Cage’s Ghost Rider desperately wants to convince you he’s cool. And there’s nothing less cool than that.
2 George Clooney as Batman
Christian Bale gets a lot of heat for his Batman voice, but it’s important to remember things could always be worse. Case in point: George Clooney as Batman. Normally, Clooney is a fine actor, but it's almost like he wasn’t even trying here. Even Val Kilmer did a better job. Clooney's line delivery is sleepy during action sequences, his fight choreography is awkward and lazy, and he can’t even manage to convince us that he has any affection for Alfred. As his dying father-figure lays in front of him, the most Clooney can muster is a noncommittal, “I love you, old man.”
He also looks terrible in the costume. Yes, this was probably the worst iteration of the batsuit ever conceived (holy bat-nipples), but Clooney didn’t do it any favors. His small frame and soft face made him look like a kid who found his parents’ bondage gear. Clooney has made some great movies over the years, but he’s not a superhero. He barely looks capable of saving Robin, let alone all of Gotham City.
1 Shaquille O’Neal as Steel
You don’t see a lot of basketball players making the jump to Hollywood these days, but for a brief period in the ‘90s, these movies were everywhere. Michael Jordan played basketball with the Looney Tunes and Dennis Rodman fought crime with Jean Claude Van Damme, for example. Neither of them were great actors, but they weren’t nearly as bad as Shaquille O’Neal as DC superhero John Henry Irons, a.k.a. Steel, the armor-wearing hero spun off from "The Death and Return of Superman."
This movie was definitive proof that acting deserved to be added to the list of things Shaquille O’Neal can’t do. It’s right up there with music and free throws. Irons’ character is actually given a fairly deep and interesting backstory in this movie, but you wouldn’t know it from Shaq’s performance. Every line is completely devoid of emotion. It almost sounds like he’s never heard humans speak to each other before. He also has no sense of comedic timing. What should be the one decent laugh in the entire movie, a joke about not being able to make free throws, lands with a dull thud because of O’Neal’s incompetent delivery. His superhero name may have been steel, but his acting was more wooden than anything.