This adventurous biographical crime thriller is set in 1963, and follows the trials and triumphs of teen-aged Frank Abagnale (Leonardo DiCaprio). He lives in New Rochelle, New York with his father Frank Abagnale, Sr. (Christopher Walken), and French mother Paula (Nathalie Baye).
When Frank Sr. is denied a business loan at Chase Manhattan Bank due to unspecified difficulties with the IRS, the family is forced to move from their large home to a small apartment. Paula carries on an affair with Jack (James Brolin), a friend of her husband. Meanwhile, Frank poses as a substitute teacher in his French class. Frank’s parents file for divorce, and Frank runs away.
When he runs out of money, he begins relying on confidence scams to get by. Soon, Frank’s cons increase and he even impersonates an airline pilot. He forges Pan Am payroll checks and succeeds in stealing over $2.8 million.
Meanwhile, Carl Hanratty (Tom Hanks), an FBI bank fraud agent, begins tracking Frank. Carl and Frank meet at a hotel, where Frank convinces Carl his name is Barry Allen of the Secret Service. Frank leaves, Carl angrily realizing his mistake at the last minute. Later, at Christmas, Carl is still working when Frank calls him, attempting to apologize for duping Carl.
Carl rejects his apology and tells him he will soon be caught, but laughs when he realizes Frank actually called him because he has no one else to talk to. Frank hangs up, and Carl continues to investigate, suddenly realizing (thanks to a waiter) that the name “Barry Allen” is from the Flash comic books and that Frank is just a teenager.
Frank, meanwhile, has expanded his con to include the identities of doctor and lawyer, but has fallen in love with Brenda (Amy Adams), to whom he eventually admits the truth about himself and asks her to run away with him. Carl tracks him to his engagement party where Frank has left Brenda, asking her to meet him two days later so they can elope.
Frank sees her waiting for him two days later, but also notices plainclothes agents waiting to arrest him, realizing he has been set up and escapes on a flight to Europe.
Seven months later, Carl shows his boss that Frank has been forging checks all over western Europe and asks permission to go to Europe to look for him. When his boss refuses, Carl brings Frank’s checks to printing professionals who claim that the checks were printed in France. From an interview with Frank’s mother, Carl remembers that she was born in Montrichard, France.
He goes there and finds Frank, and tells him that the French police will kill him if he does not go with Carl quietly. Frank assumes he is lying at first, but Carl promises Frank he would never lie to him, and Carl takes him outside, where the French police escort him to prison.
The scene then flashes forward to a plane returning Frank home from prison, where Carl informs him that his father has died. Consumed with grief, Frank escapes from the plane and goes back to his old house, where he finds his mother with the man she left his father for, as well as a girl who Frank realizes is his half-sister.
Frank gives himself up and is sentenced to 12 years in prison, getting visits from time to time from Carl. When Frank points out how one of the checks Carl is carrying as evidence is fake, Carl convinces the FBI to offer Frank a deal by which he can live out the remainder of his sentence working for the bank fraud department of the FBI, which Frank accepts.
While working at the FBI, Frank misses the thrill of the chase and even attempts to fly as an airline pilot again. He is cornered by Carl, who insists that Frank will return to the FBI job since no one is chasing him. On the following Monday, Carl is nervous that Frank has not yet arrived at work. However, Frank eventually arrives and they discuss their next case.
The ending credits reveal that Frank has been happily married for 26 years, has three sons, lives in the Midwest, is still good friends with Carl, has caught some of the world's most elusive money forgers, and earns millions of dollars each year because of his work creating unforgeable checks.