Batman has never had a shortage of formidable foes.
Since his debut in the 27th issue of Detective Comics, we’ve seen Bruce Wayne use his wealth and influence to become the Caped Crusader, battling the wild villains that inhabit Gotham City’s criminal underground. Batman wouldn’t be much of a superhero without some seriously sinister supervillains.
Let’s take a look at some of the best live-action Batman villains we’ve seen over the years. Who do you think should take the number one spot?
10. Jim Carrey as the Riddler in Batman Forever
Fresh off of his successes with Ace Ventura: Pet Detective, The Mask, and Dumb and Dumber, Jim Carrey took on the role of Edward Nygma, also known as the Riddler. His over-the-top, cartoon-like depiction of the character is definitely in line with the Riddler in the comics. It’s also the perfect fit in Joel Schumacher’s zany world of dazzling design.
You simply can’t ignore Carrey’s rambunctious physical acting in a rhinestone bodysuit as spotlights dance all around him. “Was that over the top?” he asks. I love it. Does anyone know where I can get an outfit like that?
9. Cillian Murphy as Scarecrow in Batman Begins
Before becoming Dr. Jonathan Crane, aka Scarecrow, for Nolan’s The Dark Knight trilogy, Cillian Murphy was actually a finalist to play Batman himself. It wasn’t until after Christian Bale was given the role that Murphy took over as the villain.
It was a brilliant choice. Cillian Murphy manages to walk the very thin line between over-the-top comic villain and gritty, serious reality. He reeks of self-superiority and is believably maniacal as he takes such pleasure in hurting people. Even just Murphy’s straight face manages to have an underlying menace to it.
It is incredibly impressive that Murphy manages to steal scenes when Scarecrow is supposed to be a secondary villain in Batman Begins. Just try to tell me you can think of this movie without imagining Murphy looking around with wide eyes, saying, “He’s here… the Bat-man.”
8. Jessie Eisenberg as Lex Luthor in Batman v. Superman: Dawn of Justice
I know that Lex Luthor is technically an adversary of Superman, but his appearance in Batman v. Superman: Dawn of Justice earns him a spot here.
It’s impossible not to draw comparisons between Eisenberg’s performance here and his role as Mark Zuckerberg in The Social Network. He reused some of the same tics and mannerisms but pushed them almost into satire – always teetering on the edge of a nervous breakdown. Eisenberg’s Luthor is a smug, sharp portrait of a wealthy man who feels like he is somehow above behaving like a human being. And if that isn’t a scary, believable villain, I don’t know what is.
7. Aaron Eckhart as Two-Face in The Dark Knight
Two-Face has appeared numerous times over the years, even a few times in live-action Batman flicks. In fact, he’s one of the oldest and most enduring of Batman’s adversaries, having first appeared in comics in the early ‘40s. But when I think about the character, I often recall Aaron Eckhart’s portrayal of the villain.
That’s because the actor manages to play Gotham’s “White Knight” district attorney with perfection. He is entirely believable as the idealistic politician Harvey Dent, which makes his descent into revenge-hungry Two-Face even more powerful. The most honest man in Gotham City, caught in the Joker’s anarchy and corruption, winds up as something unrecognizable: a horrifying villain.
6. Tom Hardy as Bane in The Dark Knight Rises
The villains in The Dark Knight were a hard act to follow, but Tom Hardy manages to deliver as Bane, a masked “liberator of pain” who was excommunicated from the League of Shadows. Although he claims his enemies are the rich and corrupt who oppress the people, he is gunning to fulfill Ra’s Al Ghul’s “noble work” by destroying all of Gotham City.
In order to portray the menacing character, Hardy actually gained about 30 pounds, transforming him into a hulking figure of brute force. And even though his face is mostly obscured by that goofy breathing mask, he manages to remain captivating on-screen. He remains one of Batman’s greatest adversaries because he is a match for the Caped Crusader, both physically and mentally.
5. Jack Nicholson as the Joker in Batman
1989’s Batman reintroduced audiences to Batman’s archenemy, whom we hadn’t seen on screen since the campy 1966 series starring Adam West. Often considered Batman’s greatest adversary (and his very first, making his debut in 1940’s Batman #1), choosing just the right actor for this role was not something to be taken lightly.
Luckily, Tim Burton tapped none other than Jack Nicholson to play the role. A sharp departure from the goofy prankster played by Cesar Romero, Nicholson is still a felonious funnyman – but he’s much more sinister. The psychopathic mobster just thinks he’s really funny, and he’s having plenty of fun killing people, too.
4. Paul Dano as the Riddler in The Batman
Over the years, we have seen plenty of iterations of the Riddler. He is one of the most enduring adversaries of Batman, after all. We normally see the Riddler as a theatrical, flamboyant villain who compulsively uses riddles and puzzles to carry out his crimes. He is often more concerned with seeming like an enigma–which is fitting, considering his name is Edward Nigma.
However, Paul Dano’s portrayal of the Riddler in Matt Reeves’ The Batman flips all of that on its head. Reimagined from a corny jokester to a spine-chilling psychopath, Dano’s Riddler reinvented the role. This is certainly not Jim Carrey’s rhinestoned, dancing character. Only time will tell, but I think that this much darker take on the villain will influence the Riddler in future iterations.
3. Danny DeVito as the Penguin in Batman Returns
Danny DeVito’s performance as the Penguin is one of my all-time favorite villains. Also known as Oswald Cobblepot, DeVito’s Penguin is repulsive and slimy and downright weird. DeVito brilliantly manages to capture all that’s strange and offputting about the villain. The characterization is both whimsical and ghoulish. He is vile and animalistic, driven by his life of rejection.
Over the course of the movie, the Penguin’s absurdity goes to the next level, considering he is devoted to a doomed mayoral campaign. It seems only fitting that the one and only Paul Reubens plays Penguin’s father.
2. Heath Ledger as the Joker in The Dark Knight
We certainly can’t talk about Batman’s greatest on-screen villains without mentioning Heath Ledger’s take on the Joker. The late actor’s portrayal is something out of this world. It’s a revolutionary performance – which is probably why Ledger became the first actor to win an Academy Award for a role in a superhero film.
Ledger’s Joker is entirely unsettling, with erratic tics and lip-licking as he speaks. His stringy hair looks like it’s been unwashed for months, and the greasy, smudged makeup is unnerving. He is powerful, even as he staggers around, bringing a serious and unhinged tone to the big screen. Although it’s easy to see the influence of Jack Nicholson’s version of the same character, Ledger’s anarchist supervillain is a masterpiece in its own right.
1. Michelle Pfeiffer as Catwoman in Batman Returns
Like many other Batman adversaries on this list, there have been plenty of Catwoman portrayals over the years. Her first live-action debut came with 1966’s Batman TV series, with actress Julie Newmar wearing the catsuit. Most recently, she was played by Zoe Kravitz in 2022’s The Batman.
However, Michelle Pfeiffer’s purr-fect portrayal in Batman Returns lands her at the top of my list.
While Batman Returns may not be the best Batman movie of all time, the villains were on point. Michelle Pfeiffer’s Catwoman reigns supreme.
Pfieffer’s Catwoman was no longer pretty and sparkly, with cute little kitty mannerisms. Okay, the cat mannerisms are still there. But she was also nihilistic and bent on revenge. She’s post-psychotic breakdown, tearing her apartment to shreds and chugging milk. It’s the Catwoman that no one can forget.