Danny Madigan (Austin O'Brien), is a boy whose love of action movies (especially those of Arnold Schwarzenegger, who is played by himself) keeps him out of school and in trouble. His favorite movie franchise is the fictional "Jack Slater" series, which is preparing for the release of its fourth installment.
On the day before the premiere of "Jack Slater IV," Danny visits his friend Nick, an old man who runs a run-down movie theater in downtown New York City. He offers Danny a private screening of the film, an offer which Danny is quick to accept, especially when Nick offers him a gold-plated ticket which he claims was given to him by Harry Houdini.
Several minutes into the movie, the stub of the ticket begins to glow blue, and suddenly some dynamite thrown from within the movie lands in the theater, putting Danny into shock. Before he can escape, the dynamite explodes, and Danny vanishes.
Confused, Danny awakens in a moving vehicle, which he quickly discovers is driven by his "action hero," Jack Slater. He soon realizes that he was somehow transported into the film, and begs Slater to help him find his way back to the real world. Slater, however, refuses to help, not believing that HIS world is just a movie.
After Danny's attempts to convince Slater of his true nature (including pointing out that Slater is unable to swear even when trying to) repeatedly become unsuccessful, he suddenly recognizes a mansion from the film's introduction, and, knowing that it is where the "bad guys" are, convinces Slater to check it out. The two find Tony Vivaldi, the crime boss advertised as the villain for "Jack Slater IV," and his English henchman Mr. Benedict (Charles Dance). Benedict overhears Danny discussing his knowledge of Benedict's role in the movie, and — like Slater, not understanding he himself is in a movie — is intrigued to find out how Danny could come about such information.
Benedict double-crosses Vivaldi, killing him, and awaits Slater's arrival at the mansion. When Slater arrives with Danny, Benedict manages to obtain the ticket stub which Danny still has, and vanishes into the real world before Slater's eyes. Puzzled, Slater follows Danny back through the portal into the real world, where the battle continues.
Both Slater and Benedict become acquainted with the nature of the real world; Slater, with the help of Danny's mother, realizes that there are more important things in the world than action, and decides that he would not return to the world that he considers a lie. Meanwhile, Benedict continues with his evil ways, especially when realizing that in the real world it is possible for the "bad guys" to win, and hatches a plan to kill Arnold Schwarzenegger at the premiere of "Jack Slater IV," thereby causing Jack Slater to cease to exist. Discovering this plan, Danny convinces Slater to go with him to the premiere. There, Slater encounters "The Ripper," the villain from "Jack Slater III." Slater kills the Ripper by electrocuting him, but is fatally shot in the chest by Benedict, a very unfamiliar concept in the film world. Benedict has now begun to plan world domination, but Slater gets Benedict's gun, and shoots him in the eye, causing the bomb in his glass-eye to detonate, which blows up Benedict and sends the ticket off the roof. The ticket lands in front of a nearby theater, "The Seventh Seal" is playing and the ticket, in one last use, brings Death into reality. Heading back to the movie theater, they find "The Seventh Seal"'s Death, who, before returning to his movie, suggests using the other half of the ticket.
Following Death's advice, Danny returns Slater to the movie, where his fatal injury turns out to be "just a flesh wound." Accepting his reality for what it really is, Slater drives off into the sunlight, renouncing his old ways.