Some casting decisions feel so perfect in hindsight that it becomes impossible to imagine anyone else playing the role. It’s often baffling discovering how close studios came to choosing completely different actors before production finally began. Scheduling conflicts, studio pressure, failed auditions, and creative disagreements nearly changed movie history on multiple occasions. Thankfully for audiences, these casting choices ultimately worked out exactly the way they needed to. The performances became iconic enough that replacing them now feels almost unimaginable.

Chris Pratt — Guardians of the Galaxy
Marvel initially doubted whether Chris Pratt could convincingly carry a major action franchise.

Christopher Reeve — Superman
The studio originally wanted a bigger established celebrity before choosing the relatively unknown Christopher Reeve.

Heath Ledger — The Dark Knight
Fans strongly criticized the casting announcement before Heath Ledger delivered one of cinema’s most celebrated villain performances.