Three boys — Brad ([Adam LaVorgna]), Frank Wheeler ([Michael Patrick Carter]) and Kevin ([Brian Christopher]) — leave their Middleton suburb and ride to Pittsburgh with money in their pockets and a reckless wish to see a woman naked. They encounter V ([Melanie Griffith]), a prostitute who agrees to show them her body, but the plan goes off the rails when their bikes are stolen, leaving them stranded and penniless in the city. V has a conversation with her pimp Cash ([Casey Siemaszko]) and another prostitute, Betty ([Anne Heche]); Cash has been skimming money and passing it to mob collector Waltzer ([Malcolm McDowell]), who in turn steals from his boss Jerry “The Pope” ([Philip Bosco]). In the rain, V spots the trio and offers them a ride back home in Cash’s car.
Back at Frank’s house, the car breaks down, and V goes inside to use the phone. Frank’s father Tom Wheeler ([Ed Harris]) returns to find a woman in the house, which shocks him. He offers to repair her car in a few days when his teaching schedule frees up. With few options, V accepts Frank’s offer to stay in his tree house, kept secret from Tom. Frank grows determined to set up a connection between his father and the mysterious tutor, though V initially reads his claim that Tom has no problem with her “job” as a judgment about prostitution rather than the tutoring ruse.
V learns from television that Cash has been murdered by Waltzer, and she phones Betty, only to realize Waltzer is listening. Realizing she’s still in danger, she borrows Tom’s old bike from the garage and heads toward Frank while Tom is on a field trip to the wetlands Tom is trying to save from development. She understands that staying in Middleton might be safest for now, since Waltzer doesn’t know where she is.
At school, Frank flunks a biology test on sex education and must give an oral presentation. He uses V as a mannequin to distract his teacher and improvises a relatively accurate diagram of a female reproductive system drawn on a skin-colored bodysuit. Tom and V go on a date and discover that they are developing real feelings for each other. While strolling through town, they run into Kevin’s family; Kevin’s father recognizes V as someone he once interacted with, initially trying to deny it before admitting he remembers her as a client, while Tom is impressed by how busy V is as a tutor and dancer. V explains the deception, and their relationship deepens. She reveals that her real name is Eve, something she shortened to avoid sounding biblical.
Kevin’s father, in a moment of mistaken familiarity, phones the house number he keeps, hoping to hire her services again, and Waltzer—who is nearby—learns where she is. Terrified of being found, V decides to leave town, but she attends a school dance to bid farewell to Frank. Waltzer arrives, and both he and V realize that the stolen money is actually in Cash’s car; a chase ensues, ending with Cash’s car exploding and Waltzer giving up the pursuit, convinced the money is gone.
Desperate to escape prostitution for good, V goes to Waltzer’s boss and asks to be forgotten. The boss agrees to take care of things, and V walks away from that life. She discovers the stolen money tucked in a backpack and uses it to buy the wetlands in Tom’s name, while also purchasing the ice-cream parlor in town, a move that allows her to build a life with her new partner.