Gordon Mason [Chard Hayward] works as a handyman at the Rocky Beach Motel, and his quiet routine is shadowed by a troubling fixation on Marie Coleby [Deborah Coulls], a sharp-tongued, bossy woman who constantly berates him throughout the day. Mason begins to spy on her, and when Marie prepares to drive to the airport to pick up her sister Jenny [Louise Howitt], he intrudes, plays one of her songs on the radio, Loving from a Distance, and rapes her. After Marie bites Mason and calls him an animal, he drowns her in a fish tank in a fit of rage. While trying to hide her body in a garbage bag, his neighbor Billy Shepherd [Les Foxcroft] catches him in the act and is killed, and Mason also poisons Billy’s dog.
Later, Jenny is driven home from the airport and returns to a house that feels empty. She discovers Marie’s jewels from her necklace in the fish tank and even finds Billy’s dog floating in the water at the beach. She tries to tell Billy but finds his body lying on the couch and mistakes him for merely napping. She makes several calls to reach Marie and Billy but gets no answers. Her suspicions grow when she meets Mason, whose intimate knowledge of the house is revealed by a muddy footprint on the carpet that Mason had tried to clean away.
Desperate for help, she runs to Billy’s house to find him dead in his garden shed. She hurries back to the motel to call the police, only to find Mason waiting for her, dressed in a suit with presents for her. Mason cuts the phone line while she tries to contact the coastal guard service, trapping Jenny in a tense cat-and-mouse sequence.
Two policemen arrive—Officer Clyde Collings [Roger Ward] and Patrolman Rex Dunbar [James Elliott]—but Dunbar is killed by Mason with a shotgun when he attempts to radio for backup. Collings explains that Mason has a history of raping other women who never pressed charges because of their irate husbands, and he urges Jenny to run for the highway since Mason won’t see her in the dark. Jenny hesitates, though, when she discovers Marie’s body in the backyard and mourns her.
Collings attempts to bargain with Mason, who refuses, and Collings vows to kill Mason after he sets his partner on fire. A confrontation spills into a swimming-pool area where Collings fights Mason and ultimately drowns him. Jenny, who had hidden in the bushes on the highway, is later found by Collings’ car. Mason apparently survives the drowning and kills Collings, then closes in on Jenny, strangling her while he envisions Marie in her place and suffers a mental breakdown. A passing motorcyclist ends Mason’s rampage by striking him and throwing him into Collings’ car. A second police car arrives, and the officers find Jenny lying on the road. One officer inspects Collings’ car and finds a barely conscious Mason inside, about to shoot him, but the officer shoots and kills Mason.