Famous Actors Who Almost Played Iconic Movie Roles

Tom Selleck – Indiana Jones in Raiders of the Lost Ark

When George Lucas and Steven Spielberg began work on 1981’s Raiders of the Lost Ark, they originally wanted an unknown as their central hero Indiana Jones, and decided on Tom Selleck. However, TV network CBS had Selleck under contract for a new series called Magnum PI, forcing Selleck to abandon the role and prompting Lucas and Spielberg to instead cast the better-known Harrison Ford.

Terri Nunn – Princess Leia in Star Wars

Credit: Michael Ochs Archives/Getty Images

Back when George Lucas was casting his 1977 film Star Wars, an early contender to play Princess Leia was an unknown named Terri Nunn. Though impressed with Nunn, Lucas ultimately cast Carrie Fisher in the role. Nunn would go on to enjoy fame as the lead singer of new wave band Berlin, best known for performing Top Gun theme song Take My Breath Away.

Jack Nicholson – Michael Corleone in The Godfather

After director Francis Ford Coppola cast Marlon Brando as Vito Corleone in The Godfather, he then offered the role of Michael Corleone to Jack Nicholson. However, Nicholson declined, later explaining that he believed “Italians should play Italians.” Coppola subsequently gave the part to Al Pacino, then a stage actor with almost no film experience – and the role quickly made Pacino a superstar.

Molly Ringwald – Vivian Ward in Pretty Woman

Early in development on Pretty Woman, the project was entitled $3,000, and was a far darker, more serious look at the realities of prostitution. John Hughes veteran Molly Ringwald was up for the central role of Vivian Ward, but she ultimately quit over discomfort with the subject matter. The script was later reworked into a rom-com, and Julia Roberts landed the star-making role of Vivian.

Will Smith – Neo in The Matrix

When writer-director duo the Wachowskis offered Will Smith the lead in The Matrix, the one-time Fresh Prince wasn’t convinced by their pitch and declined. This cleared the way for Keanu Reeves to take the role of computer hacker and possible messiah Thomas Anderson/Neo in the 1999 sci-fi smash. Meanwhile, Smith’s 1999 movie Wild Wild West proved an infamous misfire.

Charlize Theron – Roxy Hart in Chicago

In 2001, Charlize Theron was the first choice of director Nicholas Hytner to play Roxy Hart in the big screen adaptation of stage musical Chicago. Unfortunately, Hytner later left the project and Theron was forced to re-audition – but the film’s eventual director Rob Marshall decided to cast Renée Zellweger instead. Theron lamented years later that she was “really bummed about it.”

Johnny Depp – Ferris in Ferris Bueller’s Day Off

Back in the mid-80s, Johnny Depp was still just another young actor waiting for his big break. He might have got there a mite sooner if he’d said yes to Ferris Bueller’s Day Off. A scheduling conflict forced Depp to decline the title role in the 1986 John Hughes comedy, allowing Matthew Broderick to appear instead.

Millie Bobby Brown – Laura/X-23 in Logan

After the young Millie Bobby Brown wowed the world as the troubled telekinetic Eleven in Netflix’s Stranger Things, she was an obvious choice to play Laura/X-23, the pre-teen clone of Wolverine in 2017’s Logan. Ultimately the role instead went to Dafne Keen, since seen in TV’s His Dark Materials, but Brown insists there are no sour grapes, calling Keen’s performance “incredible.”

Will Poulter – Pennywise in It

When director Cary Joji Fukunaga was attached to direct Stephen King’s It, he chose English actor Will Poulter to play the monstrous Pennywise the Dancing Clown. However, Fukunaga wound up quitting the film over creative differences with the producers, and Poulter went with him. Andrés Muschietti took over in the director’s chair, and hired Bill Skarsgård to terrify audiences as Pennywise.

Christina Applegate – Elle Woods in Legally Blonde

Christina Applegate made her name playing stereotypical dumb blonde Kelly Bundy on sitcom Married… with Children. Not long after the show ended in 1997, Applegate was offered the central role of fashion-obsessed airhead-turned-law student Elle Woods in Legally Blonde. The actress declined, fearing the role of was too similar to Kelly Bundy, and the film later became a huge hit for Reese Witherspoon.

Dougray Scott – Wolverine in X-Men

In 1999, Scottish actor Dougray Scott landed two huge roles: villain Sean Ambrose in Mission: Impossible II, and Wolverine in X-Men. Unfortunately, the M:I-II shoot fell behind schedule, forcing Scott to stay on set longer than planned. This clashed with production on X-Men, so Scott had to pull out, and Hugh Jackman took over. Scott has no regrets, saying Jackman did “a great job.”

Julia Roberts – Viola in Shakespeare in Love

When historical rom-com Shakespeare in Love entered development in the early 1990s, Julia Roberts signed on to play Viola, and she only wanted one man to play Shakespeare: Daniel Day-Lewis. However, when Day-Lewis refused to make the film, Roberts dropped out. It spent several years in limbo before it was finally made with Gwyneth Paltrow, who won the Best Actress Oscar for her performance.

Pierce Brosnan – James Bond in The Living Daylights

Yes, we know, Pierce Brosnan did play James Bond, but he almost got the role much earlier. In 1986, Brosnan was announced as the new 007. However, TV network NBC had Brosnan on contract for series Remington Steele, and insisted he shoot another season. Timothy Dalton became Bond instead on The Living Daylights, and Brosnan waited nine years before finally taking the role in GoldenEye.

Gwyneth Paltrow – Rose in Titanic

James Cameron met with plenty of high profile actors and actresses for his 1997 film Titanic, and came very close to giving Gwyneth Paltrow the part of Rose. In the end, though, Paltrow lost out to Kate Winslet – and the rest is box office history, as Titanic wound up a multi-Oscar winner and the highest-grossing film of all time for over a decade.

Matthew McConaughey – Jack in Titanic

Speaking of Titanic, another future Oscar winner came close to bagging one of the romantic lead roles. When Gwyneth Paltrow screen-tested as Rose, it wasn’t opposite Leonardo DiCaprio as Jack, but Matthew McConaughey. The duo came close to sealing the deal, but ultimately Cameron felt Winslet and DiCaprio had the edge. McConaughey has since drily admitted the film “did alright” without him.

Thandiwe Newton – Alex in Charlie’s Angels

Like Dougray Scott, Thandiwe Newton (then credited as Thandie) landed a breakthrough role on Mission: Impossible II – and when production overran, she also lost out on another major role: what wound up being Lucy Liu’s part in Charlie’s Angels. However, Newton has since said she was glad not to make the movie, over concerns about the material and a ‘fear of fame’ at the time.

Warren Beatty – Bill in Kill Bill

When Quentin Tarantino wrote his two-volume martial arts epic Kill Bill, he had one actor in mind for the titular antagonist: Warren Beatty, who initially agreed to take the role. Accounts vary as to why Beatty left – some say he quit, others say Tarantino fired him for “not understanding” the script – but either way, Kung Fu star David Carradine was hired as Bill shortly thereafter.

Marilyn Monroe – Holly Golightly in Breakfast at Tiffany’s

Marilyn Monroe was one of the greatest Hollywood icons ever, but there was one iconic role which was almost hers: Holly Golightly in Breakfast at Tiffany’s. Monroe was the first choice, but at the time she was trying to branch out into more dramatic material and turned it down. Audrey Hepburn was cast instead, and it wound up being the role she was remembered for.

Henry Cavill – Superman in Superman Returns

Henry Cavill was once considered the unluckiest actor in the business, due to the number of major roles he narrowly missed out on. First, Cavill was cast as Superman in a reboot entitled Superman: Flyby – but this was scrapped in favor of Superman Returns, in which Brandon Routh was cast. Happily for Cavill, he eventually played the role seven years later in Man of Steel.

Henry Cavill – James Bond in Casino Royale

Next up in the casting misadventures of Henry Cavill, the actor found himself in the running to be the new James Bond on Casino Royale. He was a serious contender, but – even though the film centers on the early days of 007 – the filmmakers ultimately realized Cavill was simply too young for the part, and instead cast Daniel Craig.

Henry Cavill – Edward Cullen in Twilight

Henry Cavill’s third gut-wrenching near-miss came on Twilight. He was author Stephanie Meyer’s top choice to play Edward, but this time it was a reversal of the Bond scenario: the filmmakers felt Cavill looked too old to play a high schooler, so Robert Pattinson got it instead. Incidentally, Pattinson had also beaten Cavill to the role of Cedric Diggory in Harry Potter years earlier.

Jennifer Lawrence – Bella in Twilight

That’s right: in a parallel universe and/or alternate timeline, Twilight stars Superman as Edward Cullen and Mystique/Katniss Everdeen as Bella Swann. Before Kristen Stewart was cast, future Oscar-winner Lawrence landed an audition for the female lead in Twilight. Lawrence admits it went terribly, and Twilight’s subsequent success motivated her to pursue the lead in later YA novel adaptation The Hunger Games.