50 Iconic Movie Roles That Almost Went to Someone Else

Starring Matt Damon, Matt Damon, Matt Damon, and Matt Damon

Emma Watson/La La Land

Could you imagine a world in which Britney Spears—not Rachel McAdams—jumped into Ryan Gosling's arms for a passionate kiss in the pouring rain in the beloved rom-com The Notebook? Or a Matrix franchise in which Will Smith—not Keanu Reeves—slid on those cool '90s-style shades and leather duds to stop Agent Smith's bullets in midair? Or what about a scenario in which Nicolas Cage (!) beat out Viggo Mortensen for the role of sword-wielding hero Aragorn in Peter Jackson's The Lord of the Rings trilogy? Believe it or not, it all nearly happened.

Because Hollywood is littered with crazy casting what-ifs, we set out to compile the most incredible and unbelievable ones right here for you to see. So read on, have your mind blown, and try to imagine a world in Al Pacino piloted the Millennium Falcon and Matt Damon played, well, basically every major role you can remember from the last 20 years. And for more crazy Hollywood fun facts, don't miss The 20 Craziest Hollywood Meltdowns.

Tom Hanks almost played Harry Burns in When Harry Met Sally.

Tom Hanks/When Harry Met Sally

On the classic rom-com's 25th anniversary, director Rob Reiner revealed that he considered many actors for the role of Harry Burns. "I talked to Albert Brooks about it," Reiner told The Daily Beast. "I talked to Tom Hanks about it. I talked to Richard Dreyfuss and Michael Keaton about it." Ultimately, Reiner decided to hire Billy Crystal as he was the director's best friend, plus it didn't hurt that "Meg [Ryan] and Billy hit it off right away." And for more Hollywood trivia, don't miss these 30 Shocking Facts about Your Favorite Movies.

Liam Neeson almost played President Lincoln in Lincoln.

Liam Neeson/Lincoln

Daniel Day-Lewis has Liam Neeson in part to thank for his Oscar-winning role in Lincoln. Evidently, Neeson had originally signed on to play Lincoln when director Steven Spielberg first approached him about it 10 years prior, but once the time came to shoot the movie, his passion for the project had vanished.

"We started reading [the script], and there was an intro, and then I see 'Lincoln:' where I have to start speaking, and I just—a thunderbolt moment," Neeson told GQ back in 2014. "I thought, 'I'm not supposed to be here. This is gone. I've passed my sell-by date. I don't want to play this Lincoln. I can't be him.'"

Reese Witherspoon almost played Cher Horowitz in Clueless.

Reese Witherspoon/Clueless

Reese Witherspoon as Cher Horowitz? As if! But alas, the Sweet Home Alabama actress was considered for the role once upon a time, according to director Amy Heckerling. In an interview with Vanity Fair, Heckerling revealed that she met with Witherspoon as she was impressed by the young actress' chops.

"I saw some movie where she had a southern actress," Heckerling said. "Maybe it was on TV, a movie of the week. But I did see some scenes of her and went: 'Wow. She's amazing.'"

Katie Holmes almost played Annette Hargrove in Cruel Intentions.

Katie Holmes/Cruel Intentions

"We got into disagreements over who was going to play Annette [Hargrove], Cruel Intentions screenwriter and director Roger Kumble told Cosmopolitan in 2014. "The studio wanted Katie Holmes, who was just starting to do Dawson's Creek… but this was early Katie, and I thought we needed someone with a little more strength of character."

Kumble eventually asked leading man Ryan Philippe about his then-girlfriend Reese Witherspoon, and whether she'd be interested in the role. The two took Witherspoon out for dinner, and Kumble ended up begging her to play the part. Luckily for him (and all of us), Witherspoon agreed, and the rest is history.

Britney Spears almost played Allie Hamilton in The Notebook.

Britney Spears/The Notebook

"I did [a screen-test with Britney Spears], yeah," Ryan Gosling said in an interview with Entertainment Tonight. "I hadn't seen her really since she was about 12… so she's so grown up, but she was really good, actually." And it's not just cinematic history that would've been changed had Spears played the role of Allie Hamilton in The Notebook. After the film's production, co-stars Ryan Gosling and Rachel McAdams went on to date for three-and-a-half years. And for more steamy celebrity relationships, here are 15 Celebrities Who Married Royalty.

Sir Ian McKellan almost played Albus Dumbledore in Harry Potter.

Sir Ian McKellan/Harry Potter

When the original Albus Dumbledore, Richard Harris, passed away after Harry Potter and the Chamber of Secrets, the second entry in the franchise, Harry Potter producers had actor Sir Ian McKellan in mind as his replacement. However, McKellan turned the role down, as Harris had once remarked that he was "technically brilliant, but passionless." "I couldn't take over the part from an actor who I'd known didn't approve of me," the Lord of the Rings actor said.

Jennifer Hudson almost played the lead role in Precious.

Jennifer Hudson/Precious

In her memoir, I Got This: How I Changed My Ways and Lost What Weight Me Down, actress and singer Jennifer Hudson revealed that she turned down the Oscar-nominated starring role in Precious as she didn't want to gain the weight necessary to play it.

"I had [gained the weight] with Effie [in Dreamgirls]… and as much as I was moved by this film, I wanted to try a role that had nothing whatsoever to do with my weight," she wrote. Instead, Hudson accepted the role of Carrie Bradshaw's assistant in the first Sex and the City movie, while Gabourey Sidibe took on the title role in Precious. And for more great movie coverage, check out The 30 Funniest Movies of All Time.

Julia Roberts almost played Annie Reed in Sleepless in Seattle.

Julia Roberts/Sleepless in Seattle

In an interview with InStyleJulia Roberts revealed that she once turned down the leading role in Sleepless in Seattle. "I'd been offered Sleepless in Seattle, but couldn't do it," the actress said. However, while some actresses might be bitter about giving up such an iconic role, Roberts has no regrets about her decision.

"[Meg] Ryan and Tom Hanks are just such a jewel of a fit in that," Roberts said. "I guess what they did for that moment in time is sort of what Richard [Gere] and I were doing across town [in Pretty Woman], you know?"

Matt Damon almost played Jake Sully in Avatar.

Matt Damon/Avatar

In 2009, James Cameron's Avatar was released, and went on to become the highest-grossing film of all time. The film catapulted actor Sam Worthington to red-carpet-regular status—but he would have never starred in the movie had Matt Damon accepted the offer first.

"Having to say no to Avatar was tough because I particularly wanted to work with James Cameron, and still do, because he's fantastic," Damon told Playboy. "When he said, 'Look, I'm offering it to you, but if you say no, the movie doesn't need you,' I remember thinking, 'Oh God, not only do I have to say no because of scheduling, but he's going to make a star out of some guy who's going to start taking jobs from me later.'"

Matt Damon almost played Dan White in Milk.

Matt Damon/Milk

Apparently Matt Damon's missed out on quite a few roles of a lifetime. The actor was offered to play city supervisor Dan White in the Oscar-winning Milk, but had to turn it down when filming began to conflict with another project he was in, Green Zone.

"Steven Soderbergh's mantra is, 'The movie gets the right person; the right actor gets the part,' but I was like, [heck], no. That was my part!,' " Damon joked. However, the actor had no hard feelings, as after seeing Josh Brolin play the role he was once slated for, he "knew Soderbergh was right."

Matt Damon almost played Harvey Dent in The Dark Knight.

Matt Damon/Batman

Matt Damon just can't catch a break. Yet again, the star missed out on a great opportunity when he chose not to play Harvey Dent in The Dark Night due to scheduling issues. Oh well: You either die a hero, or live long enough to see yourself turn down incredible movie roles. If you love Batman, then you've probably read some of The 30 Best-Selling Comic Book Series of All Time.

Matt Damon almost played Ennis Del Mar in Brokeback Mountain.

Matt Damon/Brokeback Mountain

Yes, it's Matt Damon again. This time he turned down a starring role in Brokeback Mountain because he "just did a gay movie and a cowboy movie." (He's referring to his roles in The Talented Mr. Ripley and All the Pretty Horses, respectively.)

Sean Connery almost played Gandalf in Lord of the Rings.

Sean Connery/Lord of the Rings

Gandalf the Grey, you say? There's no way! But it's true: Sean Connery came this close to playing the lead role in the Lord of the Rings franchise—except he didn't quite understand the script. And we're talking about the English script, by the way, not the Elvish one.

Al Pacino almost played Han Solo in Star Wars.

Al Pacino/Star Wars/Han Solo

A long time ago in a galaxy, well, not very far away at all, Al Pacino once turned down the leading role in Star Wars. Like Connery and the Shire, Pacino just didn't understand the script, and so he ultimately passed on the role that Harrison Ford is now famous for. And fans of the franchise, rejoice: these are The Best New Star Wars Locations You Can Actually Visit.

Al Pacino almost played John McClane in Die Hard.

Al Pacino/Die Hard

Turns out that there's quite a few offers that Al Pacino can refuse. Apparently the Godfather star also passed on the starring role in 1988's Die Hard, during a time when he was being offered roles left and right. "I gave that boy a career," Pacino joked about the success that Bruce Willis found after taking on the role that Pacino rejected.

Tom Cruise almost played Ren McCormack in Footloose.

Tom Cruise/Footloose

The producers of Footloose had Tom Cruise in mind to play the film's rambunctious main man, but the star was already busy filming All The Right Moves. Luckily, we still got a taste of Cruise's dancing chops when he busted out his best moves in Risky Business (and of course, behind the bar in Cocktail).

Johnny Depp almost played Patrick Bateman in American Psycho.

Johnny Depp/American Psycho

According to director Stuart Gordon, the book options for American Psycho passed through several hands—directors and actors alike—before finally settling on a home. When the options were in Gordon's hands, he had Johnny Depp on board to star, but author Bret Easton Ellis soon took to the tabloids to trash Depp, calling him "a lightweight actor who was too old to play the part," according to Gordon. As the film continued to switch hands, everyone from Edward Norton to Leonardo DiCaprio was considered, but ultimately Christian Bale was the one who became Patrick Bateman.

Matthew McConaughey almost played Jack Dawson in Titanic.

Matthew Titanic

The Titanic that we know and love would have been entirely different had hunky heartthrob Matthew McConaughey starred alongside Kate Winslet. During a visit to The Late Show with Stephen Colbert, the actress revealed that when she auditioned for the part of Rose, she read her lines alongside McConaughey—not Leonardo DiCaprio. "[It] was completely fantastic," Winslet said. "It just wouldn't have been the whole 'Jack and Rose, Kate and Leo' thing." And if you love this classic film but hate that Rose never made room for Jack on that door, you'll want to Watch Kate Winslet and Stephen Colbert Fix the Ending to Titanic.

Jessica Simpson almost played Jamie Sullivan in A Walk to Remember.

Jessica Simpson/A Walk to Remember

It is pretty much impossible to imagine Nicholas Sparks' A Walk to Remember without Mandy Moore in the leading role. And we're not the only ones who think so. In an interview with Entertainment Weekly, Moore's co-star Shane West said, "There was someone else… whose name was batted around for Mandy's role," referring to Jessica Simpson. "I remember I wasn't keen on that idea and thankfully it didn't happen. The person just didn't seem right." And thank goodness Mandy and Shane landed the leading roles, as they gave us one of the 30 Most Iconic Kisses of All Time.

Tom Selleck almost played Indiana Jones.

Tom Selleck/Indiana Jones

A few years after heading to outer space to star in Star Wars, Harrison Ford took on the completely different—and yet equally iconic—role of Indiana Jones. But before he could raid tombs, another actor had to first drop out of the role—that actor being none other than Tom Selleck. In an interview with David Letterman, the mustached muchacho said that he had to turn the role down due to contractual obligations with Magnum P.I.

Will Smith almost played Neo in The Matrix.

Will Smith/The Matrix

The Fresh Prince was originally chosen to be The One, but turned the role down because he "just didn't see it." "I would have messed it up," Smith told Wired, looking back on the opportunity he passed up. "At that point I wasn't smart enough as an actor to let the movie be."

Sarah Polley almost played Penny Lane in Almost Famous.

Almost Famous

You might not be familiar with the name Sarah Polley, but you would've been had she chosen to star in Almost Famous as planned. Who knew that the title of the movie would also predict Polley's future?

Mel Gibson almost played Maximus in Gladiator.

Mel Gibson/Gladiator

Between BraveheartThe Patriot, and Lethal WeaponMel Gibson has more than proven his ability to take on roles that involve being angry in a historic setting. And yet, the actor turned down the opportunity to star in Gladiator, as he felt he was too old for the role at that point.

Hugh Jackman almost played James Bond.

Hugh Jackman/James Bond

Hugh Jackman almost joined the distinguished list of actors to play 007, but ultimately let Daniel Craig portray the classic character after finding out that he'd get no say in the script. In an interview with Variety, the Wolverine said: "I just felt at the time that the scripts [for James Bond] had become so unbelievable and crazy, and I felt like they needed to become grittier and real." Because a man with retractable claws who can heal instantly is believable? Okay, Hugh. And if the Bond producers are listening, This Is Who Idris Elba Thinks Should Play James Bond.

Charlize Theron almost played Roxie Hart in Chicago.

Charlize Theron/Chicago

Many films go through shake-ups during the production process, but when Chicago lost its director, actress (and trained dancer!) Charlize Theron just didn't quite razzle dazzle the new one. "There was another director attached and he brought me on," Theron told Howard Stern. "And then that director got fired and this new director got brought on and he didn't want to make the movie with me."

Emma Watson almost played Mia in La La Land.

Emma Watson/La La Land

"The casting of this movie during the six years it took to get made went through lots of permutations, and it's true there was a moment where Emma Watson and Miles Teller were doing it," La La Land director Damien Chazelle told Uproxx.

Christina Applegate almost played Elle Woods in Legally Blonde.

Christina Applegate/Legally Blonde

Nobody wants to be typecast as the dumb blonde in Hollywood. Or, at least Christina Applegate doesn't, which is why she turned down the role of Elle Woods in Legally Blonde in the early 2000s. "What a stupid move that was, right?," Applegate joked with ETOnline. Nevertheless, the actress is happy that Reese Witherspoon ended up taking on the role, and says that she "did a much better job than I ever could, and so that's her life."

Anne Hathaway almost played Tiffany in Silver Linings Playbook.

Anne Hathaway/Silver Linings Playbook

Anne Hathaway was the first actress chosen to star in Silver Linings Playbook, but her and the film's director, David O. Russell, had too many creative differences to make it work. The silver lining: Jennifer Lawrence joined the cast, and went on to win best actress for her portrayal of Hathaway's former role. But don't be sad for Hathaway: She also won an Oscar that same year for her heartbreaking portrayal of Fantine in Les Miserables. Everybody wins—literally!

John Travolta almost played Forrest Gump.

John Travolta/Forrest Gump

John Travolta passed up playing the role of Forrest Gump. Really. Fun fact: at the 1995 Oscars, Travolta went head-to-head for Best Actor against Gump's Tom Hanks (Travolta was nominated for his role in Pulp Fiction) and lost.

Kate Winslet almost played Viola in Shakespeare in Love.

Kate Winslet/Shakespeare in Love

After shooting into the spotlight as Rose in TitanicKate Winslet decided to turn to more independent movies and passed up a part in Shakespeare in Love. Instead, Gwyneth Paltrow got the role—and it earned her a Best Actress Oscar.

Denzel Washington almost played Detective David Mills in Se7en.

Denzel Washington/Se7en

Denzel Washington regrets turning down a leading role in David Fincher's psychological thriller Se7en.

Sandra Bullock almost played Maggie Fitzgerald in Million Dollar Baby.

Sandra Bullock/Million Dollar Baby

Around the time of Million Dollar Baby's release, rumors were circulating that Sandra Bullock "snubbed" the film and its director and star, Clint Eastwood. However, Bullock adamantly denies such rumors, explaining that she had to drop out of the movie because of scheduling conflicts.

"We had Million Dollar Baby with someone else for a while, trying to get it made," Bullock said. "I couldn't get it made. We tried and tried and tried. I then started doing Miss Congeniality 2 and they got Hilary Swank and they got Clint."

Robert Redford almost played Benjamin Braddock in The Graduate.

Robert Redford/The Graduate

Robert Redford is the only actor in Hollywood who's ever missed an opportunity on account of being too handsome. That's right: Though the star was eager to play the role of Benjamin Braddock in The Graduate, director (and friend) Mike Nichols thought he was too far-off from the character's persona of an awkward guy who struggles with the ladies.

"I said [to Robert], 'You can't play it. You can never play a loser,' Nichols told Vanity Fair. And Redford said, 'What do you mean? Of course I can play a loser.' And I said, 'OK, have you ever struck out with a girl?' and he said, 'What do you mean?' And he wasn't joking."

Javier Bardem almost played Danny Witwer in Minority Report.

havier Bardem/Minority Report

You'd never know it hearing Javier Bardem speak today, but in the early 2000s, his English was a little rusty. "At that time, it was difficult for me to jump into a foreign-language performance," Bardem said during a master class at the Toronto Film Festival. Ultimately, Bardem's language skills (or lack thereof) led him to turn down a role in Steven Spielberg's Minority Report—even despite the fact that the No Country for Old Men star would've loved a chance to work with the director.

Jim Carrey almost played Buddy the Elf.

Jim Carrey/Elf

The Elf movie that we all know was released in 2003, but the script first emerged in Hollywood a decade prior. At that time, Jim Carrey was slated to star in it, but by the time the film actually went into production, he had moved on to other projects. Plus, let's not forget that, just a few years earlier, in 2000, Carrey filmed another Christmas comedy with How the Grinch Stole Christmas. And speaking of holiday movies, don't miss these 6 Classic Christmas Movies You Can Experience In Real Life.

Julia Roberts almost played Anne Tuohy in The Blind Side.

Julia Roberts/The Blind Side

If Anne Tuohy wasn't actually a real person, we would say that Sandra Bullock is Anne Tuohy. But in an alternate universe, Julia Roberts played the adopted mother of NFL star Michael Oher. Instead, Roberts chose to star in Duplicity and Bullock picked up a Best Actress win for The Blind Side.

Henry Winkler almost played Danny Zuko in Grease.

Henry Winkler/Grease

It doesn't even matter that Henry Winkler passed up this golden opportunity, because, frankly, we can't picture him as any character other than Barry Zuckerkorn in Arrested Development. And that's what we call a law-bomb!

Michelle Pfeiffer almost played Clarice Starling in Silence of the Lambs.

Michelle Pfeiffer/Silence of the Lambs

Silence of the Lambs director Jonathan Demme's first choice to play Clarice Starling was none other than Michelle Pfeiffer. The problem, as it turns out, was that the Scarface mistress was "concerned about the darkness of the piece." Begrudgingly, Demme went with Jodie Foster for the role, and she received her second Oscar for it.

Jack Nicholson almost played Michael Corleone in The Godfather.

Jack Nicholson/The Godfather

Jack Nicholson's hesitance to take a role in The Godfather was quite simple: He thought it should go to someone Italian. "I knew The Godfather was going to be a great film, but at that time I believed Indians should play roles written for Indians and Italians should do the same," the Irish-English actor said.

Will Smith almost played Django in Django Unchained.

Will Smith/Django

Quentin Tarantino wrote the lead role of Django Unchained with Will Smith in mind, but a commitment to Men in Black III kept the star from ever joining the cast. And apparently that's not the only reason: In an interview with Entertainment Weekly, Smith admitted that there were some changes he wanted made to the script.

"Django wasn't the lead, so it was like, I need to be the lead," he said."The other character was the lead! I was like, 'No Quentin, please, need to kill the bad guy!"

Madonna almost played Cristal Connors in Showgirls.


Showgirls isn't quite an iconic movie in the same way that, say, Star Wars or Titanic is. In fact, the film was widely pilloried; it received a 22 percent on Rotten Tomatoes, with one critic going so far to call it "a bad film, borderline inept."

But like many other "terrible" films (example: The Room), Showgirls gained a cult following years after its release and found the audience it was looking for. However, none of this would have been necessary had they hired Madonna as their lead. The reason they didn't? Director Paul Verhoeven didn't like her script notes.

Angelina Jolie almost played Alex Munday in Charlie's Angels.

Angelina Jolie/Charlie's Angels

For the Charlie's Angels remake, pretty much everyone wanted Angelina Jolie to join the cast as Charlie's third gal, but the actress just wasn't having it. "I begged her to do Charlie's Angels," then-Columbia exec Amy Pascal said. "But she's no angel."

Gwyneth Paltrow almost played Rollergirl in Boogie Nights.

Boogie Nights

According to Paltrow, the role of Rollergirl was just too risqué to add to her resume. "I just thought, I can't be totally naked … on screen," Paltrow said. "I'll kill my grandfather!"

Ben Affleck almost played Josh in Clueless.

Ben Afleck/Clueless

We almost never got to experience the perfect pairing that is Paul Rudd and Alicia Silverstone, as casting director Carrie Frazier originally thought Ben Affleck "would be fabulous for it."

Tom Hiddleston almost played Thor.

Tom Hiddleston/Thor

Before Tom Hiddleston was cast to play Loki, the on-again, off-again villain of the Marvel Cinematic Universe, he auditioned to be the God of Thunder. Unfortunately, the casting team had another person in mind for the almighty Thor: a very godlike Australian.

Marilyn Monroe almost played Holly Golightly in Breakfast at Tiffany's.

Marilyn Monroe/Breakfast at Tiffany's

Think back to the late 1950s, and you'll be hard-pressed to recall a monumental movie without Audrey Hepburn or Marilyn Monroe in it. And as both A-listers were hot commodities, it figures that they were often courted for the same roles, like the role of Holly Golightly in Breakfast at Tiffany'sTruman Capote, who wrote the novella the movie was loosely based on, wanted Monroe for the film, but she turned the part down as she didn't want to be associated with such a scandalous role.

Nicolas Cage almost played Aragorn in Lord of the Rings.

Nicolas Cage/Lord of the Rings

"I think regret is a waste of time," Nicolas Cage said about roles that he's turned down in the past. One such role: Aragorn in Lord of the Rings, which was subsequently played with inimitable vigor by Viggo Mortensen.

Eric Stoltz almost played Marty McFly in Back to the Future.

Eric Stoltz/Back to the Future

For a short period of time Eric Stoltz was Marty McFly. But after watching Stoltz embody—or rather, try to embody—the role for a few weeks, director Robert Zemeckis had had enough. "It turned out that his instincts and the type of the comedy [of] the film we were doing weren't really gelling," the director said. Zemeckis had wanted Michael J. Fox all along, and after a rough start, he finally got his Marty McFly.

Harrison Ford almost played Alan Grant in Jurrasic Park.

Harrison Ford/Jurassic Park

Apparently director Steven Spielberg was impressed by Ford's acting chops in The Empire Strikes Back, but Ford just wasn't sold on carrying yet another series. In retrospect it was a good call: only Ford was a star so big he could steal thunder from a T-Rex.

Robin Williams almost played Hagrid in Harry Potter.

Robin Williams/Harry Potter

Robin Williams wanted part of the first Harry Potter movie so badly he reached out to J.K. Rowling about playing the role of Hagrid, but the author wanted everyone in the movies to be British.

And for more Hollywood trivia, don't miss 30 Shocking Facts about Your Favorite Movies.

To discover more amazing secrets about living your best life, click here to sign up for our FREE daily newsletter!

Filed Under
Best Life
Live smarter, look better,​ and live your life to the absolute fullest.
Get Our Newsletter Every Day!
Enter your email address to get the best tips and advice.
close modal
close modal