Leonardo DiCaprio Almost Missed Out on an Iconic Role Due To “Not Being Good Enough”
Leonardo DiCaprio was not originally considered the perfect fit for one of his most famous roles. Back in the early 2000s, after the massive success of Titanic, DiCaprio was already a household name. But when Steven Spielberg began casting for Catch Me If You Can (2002), the role of real-life conman Frank Abagnale didn’t immediately seem suited for him.
According to IMDb, Frank Abagnale himself initially felt DiCaprio wasn’t “suave” enough to portray the charming, confident figure who famously conned millions. However, after seeing DiCaprio’s performance, Abagnale was surprised and impressed by how perfectly the actor brought him to life on screen.
The film’s success was also fueled by Tom Hanks, who played FBI agent Carl Hanratty. Hanks reportedly approached Spielberg and even consulted DiCaprio about joining the project.
Spielberg later told Roger Ebert, “Then he called Leo and said, ‘Is it an imposition for me to be in this movie which is clearly your film? You’re carrying it. Would it be an imposition upon you if I played the FBI agent?’ Leo thought that heaven had just come down to earth for him. So in a sense, Tom invited himself into the project in such a humble, beautiful way.”
Interestingly, even Spielberg hadn’t initially envisioned DiCaprio in the role. He had considered Johnny Depp as Frank Abagnale. But fans and critics alike agree that DiCaprio’s performance, paired with Hanks’ charm, turned the film into a modern classic. Today, Catch Me If You Can remains one of DiCaprio’s highest-rated films and continues to be celebrated for its storytelling and performances.
It’s a reminder that casting decisions in Hollywood can be full of surprises. Even someone as talented as DiCaprio wasn’t an automatic choice for a role that would later become iconic.
What do you think about DiCaprio almost missing out on this role? Do you agree he was the perfect Frank Abagnale? Share your thoughts in the comments.


