Hollywood casting can seem like magic in hindsight. A face fits a role so perfectly that it becomes impossible to imagine anyone else doing it. Yet behind almost every legendary performance is a messy, fascinating history of near-misses, scheduling disasters, and last-minute switches that nearly sent film history down a very different road. The truth is, casting means navigating not just finding the perfect actor, but also shoot schedules, contract conflicts, and disagreements between directors and studios. Oftentimes, the actors who ended up in career-defining roles were not the first or even the second choices of the directors, yet they were available at the right time with no major conflicts from other big names attached to the project. These eight stories are proof of that.
Harrison Ford as Indiana Jones in Raiders of the Lost Ark (1981)

Tom Selleck lost the role because he had a contractual obligation to the TV series Magnum, P.I. on CBS. When Spielberg requested CBS to release Selleck, the network instead greenlit Magnum, P.I., causing Selleck to drop out entirely. It was one of those moments where a contractual clause quietly redirected film history forever.
Harrison Ford made Indiana Jones a hero with flaws. His Indy threw shade, got frustrated, and even got exhausted. These grounding qualities gave audiences an action hero who was very much a human. The role became so associated with Ford that it defined his career alongside Han Solo, making him one of the most beloved leading men of the 20th century.
Al Pacino as Michael Corleone in The Godfather (1972)

Al Pacino’s turn as Michael Corleone transformed him from an emerging theater actor with only one previous film under his belt to a Hollywood heavy-hitter. The role was career-defining for Pacino, but Hollywood history almost went in a different direction. The studio itself nearly forced a recasting mid-production.
Two weeks into shooting, studio executives interpreted Pacino’s quiet intensity as a lifeless, mumbling performance and contacted Robert Redford for recasting. However, director Francis Ford Coppola stood his ground, and the rest is history. Jack Nicholson also told Movieline in 2004 that he turned down the role. Things didn’t turn out badly for Nicholson, who instead starred in his own iconic films like One Flew Over the Cuckoo’s Nest and Chinatown.
Michael J. Fox as Marty McFly in Back to the Future (1985)

Eric Stoltz was originally cast as Marty McFly and filmed several weeks of scenes. However, director Robert Zemeckis and producer Steven Spielberg realized Stoltz’s serious approach didn’t capture the comedic energy they wanted. It was a costly decision to reverse, but the filmmakers felt they had no choice.
Michael J. Fox, their first choice who had initially been unavailable, was finally brought in. Fox’s charm and comedic timing made the film a timeless classic, with his performance defining the trilogy. Stoltz’s footage remains locked away, a fascinating glimpse into a version of the film that almost was.
Jodie Foster as Clarice Starling in The Silence of the Lambs (1991)

Jodie Foster famously portrayed FBI agent Clarice Starling in The Silence of the Lambs and won an Oscar for Best Actress for the role. But it was Michelle Pfeiffer who was first offered the part. At that point, Pfeiffer had already worked with director Jonathan Demme on a previous film, Married to the Mob.
Pfeiffer turned down the offer because she felt that the film contained “such evil” that it made her uncomfortable. It’s one of the more remarkable passes in cinema history. Foster’s restrained, precise performance went on to win her the Academy Award, and the film is now widely considered one of the greatest thrillers ever made.
Hugh Jackman as Wolverine in X-Men (2000)

Dougray Scott was originally cast as Wolverine in X-Men, but scheduling conflicts with Mission: Impossible 2 led to Hugh Jackman taking over. Jackman’s portrayal of the clawed mutant became iconic, spanning nearly two decades. Few pieces of franchise casting have proven as consequential as that last-minute switch.
Russell Crowe had also been considered before Hugh Jackman made the role his own. Jackman’s charisma and gritty presence hit just the right note. He went on to play Wolverine across nine films, a run that ended with the critically acclaimed Logan in 2017 and was revisited once more in Deadpool and Wolverine in 2024.
Keanu Reeves as Neo in The Matrix (1999)

The role of Neo almost went to a very different kind of star. Will Smith would have brought charisma and humor, but Reeves delivered stillness and focus. His lack of an overpowering performance allowed the film’s ideas to dominate without distraction. Reeves’ Neo became the conduit of the story rather than its loudest voice.
The moment Reeves took the role, he committed fully to the philosophical and physical demands of the film. His casting perfectly aligned with the filmmakers’ vision of controlled minimalism. Smith later said publicly that he turned down the role, a decision he has reflected on openly given how culturally significant the film became.
Julia Roberts as Vivian Ward in Pretty Woman (1990)

Director Garry Marshall originally envisioned Karen Allen for the role, but she declined. He then approached 80s teen queen Molly Ringwald, who read the script and thought it was “icky,” objecting to the prostitution premise. The studio’s top choice was then Meg Ryan, who was still riding high from When Harry Met Sally. She wasn’t willing to compromise her newly established image by playing a prostitute.
Diane Lane came closest to being cast and even did the costume fittings. After hitting a dead end, they settled for a mostly unknown 21-year-old Julia Roberts. Roberts opened up the character of Vivian in a way few others could have. Her portrayal was candid, witty, and emotionally transparent, and it didn’t idealize Vivian’s circumstances while still humanizing her.
Leonardo DiCaprio as Jack Dawson in Titanic (1997)

Leonardo DiCaprio’s performance as Jack in Titanic solidified him as one of Hollywood’s most desirable actors of the time, but he almost lost the part to Matthew McConaughey. According to DiCaprio’s co-star Kate Winslet, she and McConaughey auditioned together. McConaughey was reportedly favored by the studio, but director James Cameron preferred DiCaprio and ultimately got his way.
The casting decisions that could have gone differently for Titanic didn’t stop with Jack. Gwyneth Paltrow was approached to play Rose but turned it down to appear in Great Expectations. Kate Winslet ultimately won the role, overcoming concerns that she was too well-known for historical dramas already. The film went on to become one of the highest-grossing movies of all time and earned DiCaprio his first Oscar nomination for a leading role.
The sheer number of near-misses across these eight films is a reminder of how fragile greatness can be. Contracts expire at the wrong moment, directors dig in their heels, actors trust their instincts and walk away. What feels inevitable on screen was, in almost every case, anything but.