Long before Batman and Spider-Man were bankable superheroes, Superman was the only comic book vigilante who could be relied on for box office success. And even then, a couple of duds put the franchise in such jeopardy that two mediocre reboots haven’t been able to save it from.

RELATED: 10 Actors Who Were Almost Cast As Superman

Supes has one of the most iconic rogue’s galleries in comic book history, so actors will often jump at the chance to play one of his villains on the big screen. Then again, some don’t jump at the chance and turn down the offer, or can’t make the shoot due to scheduling conflicts. Here are 10 actors who were almost cast as Superman villains.

Adam Driver As Lex Luthor In Batman V Superman: Dawn Of Justice

Jesse Eisenberg was set to make a cameo appearance as Jimmy Olsen in Batman v Superman: Dawn of Justice before he was cast to play Lex Luthor as basically a third-rate imitation of the Joker.

Before this decision was made, a wide array of actors were considered for the role of Luthor. These actors included Bradley Cooper, Matt Damon, Jean Dujardin, Tom Hanks, and Adam Driver, who’d just begun his stint as Kylo Ren at the time.

Viggo Mortensen As General Zod In Man Of Steel

When Man of Steel was in pre-production and it was decided that General Zod would be the main antagonist, Viggo Mortensen and Édgar Ramírez were considered for the role before Michael Shannon was chosen.

Mortensen and Ramírez may have dodged a bullet, as Superman’s killing of Zod in Man of Steel turned out to be one of the most controversial movie moments of the decade.

Dustin Hoffman As Lex Luthor In Superman: The Movie

In a strange turn of events, when Richard Donner’s first Superman movie was in development, Dustin Hoffman was considered for the roles of both Clark Kent and Lex Luthor.

RELATED: 10 Ways To Fix Superman In The DCEU

Supes ended up being played by Christopher Reeve, while Luthor was played by Gene Hackman. Before Hackman was selected by the casting producers, George Kennedy and Reservoir Dogs’ Lawrence Tierney were also considered.

Christopher Walken As Brainiac In Superman Lives

Easily the most famous unproduced Superman movie is Superman Lives, which would’ve starred Nicolas Cage as the last son of Krypton, with Tim Burton directing and Kevin Smith providing the script.

Burton wanted to use Brainiac as the film’s primary villain, and his top choice for the role was Christopher Walken. We still have yet to see Brainiac realized in a big-budget live-action Superman movie.

Christopher Lee As General Zod In Superman: The Movie

Screen legend Christopher Lee was initially offered the role of General Zod in Superman: The Movie, but he turned it down, because he’d just moved to Hollywood to escape England’s taxes and the Superman production would’ve taken him right back to England.

The role was eventually played by Terence Stamp, who did a fine job with the character and went on to receive a larger role in the sequel, Superman II.

Gene Wilder As Lex Luthor In Superman: The Movie

Before Gene Hackman was cast to play Lex Luthor in one of the most iconic runs as a supervillain in movie history, another famous Gene was considered for the part: Gene Wilder.

RELATED: Superman: 5 Reasons Henry Cavill Should Be Replaced (& 5 Why He Should Stay In The Role)

Wilder’s tendency to play nebbish neurotics in movies like The Producers and Stir Crazy might make him seem like an odd choice to play Luthor, but his turns as zany sociopaths in movies like Blazing Saddles and Willy Wonka & the Chocolate Factory suggest otherwise.

Alan Alda As Ross Webster In Superman III

The writers of Superman III decided not to bring back Lex Luthor, as they didn’t want to continuously reuse the same villain, which makes sense. But they replaced him with a one-dimensional ruthless industrialist character named Ross Webster, who was essentially a Lex Luthor knockoff.

Prior to the casting of Robert Vaughn, Alan Alda and Frank Langella, who went on to play Perry White in Superman Returns, were up for the part.

Joaquin Phoenix As Lex Luthor In Batman V Superman: Dawn Of Justice

Joaquin Phoenix was considered for the role of Lex Luthor in Batman v Superman: Dawn of Justice before Jesse Eisenberg was cast. Phoenix was also offered two major Marvel roles – Bruce Banner and Stephen Strange – that he turned down due to the multi-movie commitments he was required to make.

He eventually crossed over into the comic book movie genre with last year’s Joker, in which his performance as Arthur Fleck won him the Academy Award for Best Actor.

Jude Law As General Zod In Superman Returns

Bryan Singer initially wanted to feature General Zod in Superman Returns alongside Kevin Spacey’s Lex Luthor. His top choice to play Zod was Jude Law, but Law turned down the offer.

RELATED: 5 Reasons We Need Man Of Steel 2 (& 5 Why We Don't)

Singer persistently offered the role to Law a few more times, but he kept turning it down. Eventually, Singer decided to just cut Zod from the script instead of thinking of another actor who could play him.

Jack Nicholson As Lex Luthor In Superman: The Movie

Before Gene Hackman was cast as Lex Luthor in Richard Donner’s Superman: The Movie, the studio seriously considered giving the job to Jack Nicholson. Just over a decade later, Nicholson would play DC Comics’ other iconic villain, the Joker, in Tim Burton’s Batman.

And just as Hackman had refused to shave his head until the movie was almost over when he played Luthor, Nicholson refused to wear clown makeup in all of his scenes.

NEXT: 10 Actors Who Were Almost Cast In The DCEU