Jesse (
Jason James Richter) is a kid without parents who has bounced from one foster home to another and is living on the streets. One night, he's caught spraying graffiti with his friend Perry (
Michael Bacall) in a theme park. Jesse and Perry are caught red handed by Dwight (Mykel T. Williamson), a policeman who thinks that Jesse needs a more stable and disciplined environment. Dwight arranges for Jesse to stay with a new foster family, Glen and Annie Greenwood (
Michael Madsen and
Jayne Atkinson), with whom Jesse has an initially stormy relationship.
Part of Jesse's punishment involves cleaning up the damage he caused at the park, where the new attraction is Willy, a killer whale who is being trained to do tricks. However, Willy was traumatized when he was stolen from his family by mercenary fisherman and does not respond well to the genuine concern of his trainers, Rae (Lori Petty) and Randolph (August Schellenberg). Jesse and Willy, both stranded without families in a place where they don't fit in, develop a close emotional bond, and with Jesse's help, Willy begins to display aptitude as a performer. Thanks to his friendship with Willy, Jesse develops a new sense of responsibility and a healthier relationship with the Greenwoods. However, Dial (Michael Ironside), the owner of the park, doesn't much care for animals and isn't happy with the slower-than-expected progress of Willy's training; having insured the whale for $1 million dollars, he figures that Willy is worth more dead than alive, and Jesse, Rae, and Randolph have to rescue their aquatic friend and return him to the ocean when Dial seems ready to live up to his threats. Free Willy, which featured a star performance by a killer whale named Keiko (who is doubled in some scenes by animatronic models) included the theme song Will You Be There, a top-ten hit for Michael Jackson, and spawned two sequels.