At a church in Guatemala, a man and a boy, Ben Mears [David Soul] and Mark Petrie [Lance Kerwin], are filling small bottles with holy water. When one bottle begins to emit an eerie glow, Mears tells Mark that "they've found us again."
> they've found us again.
Two years earlier, Ben Mears, a successful author, returns to his hometown of Salem's Lot, Maine to write about the Marsten House, an old, ominous property on a hilltop with a reputation for haunting. The house has already been purchased by the mysterious Richard Straker [James Mason], who is opening an antique shop with his oft-mentioned but never present business partner, Kurt Barlow [Reggie Nalder]. Instead, Mears moves into a boarding house run by Eva Miller [Marie Windsor] and begins a romance with Susan Norton [Bonnie Bedelia]. He renews his friendship with Jason Burke [Lew Ayres] and confides to Burke that the Marsten House feels inherently evil, recalling Hubie Marsten and a childhood encounter where he glimpsed the owner’s ghost.
One night a large crate is delivered to the Marsten House, and soon townspeople begin to vanish or die under strange circumstances. Mears and Straker become suspects, but it becomes clear that the crate contains Straker's business partner, Kurt Barlow, an ancient vampire who has arrived in Salem's Lot. Straker abducts a young boy, Ralphie Glick [Ronnie Scribner], as an offering to Barlow, who himself causes realtor Larry Crockett [Fred Willard] to die of fright when he appears. Ralphie returns as a vampire to claim his brother, Danny Glick [Brad Savage]. After Danny's funeral, the undead boy infects a gravedigger, Mike Ryerson [Geoffrey Lewis], and attempts to prey on a classmate, Mark Petrie, though Mark, a horror-film buff, manages to repel him with a cross.
As vampirism spreads, Mears, Burke, and Dr. Bill Norton [Ed Flanders] gradually realize what is happening and try to stop it. Burke suffers a severe heart attack after a confrontation with the newly vampirized Ryerson. Mark's parents are killed by Barlow, and Mark escapes with the help of a local priest. Mears is later attacked by Marjorie Glick [Clarissa Kaye-Mason] after she revives on a mortician's table, but he defends himself using a makeshift cross.
Seeking revenge for his parents' deaths, Mark breaks into the Marsten House, and a concerned Susan follows him inside; both are captured by Straker. Later, Mears and Dr. Norton enter the house, where Straker kills Norton by impaling him on a pair of antlers before he himself is fatally shot by Mears. Afterwards, Mears and the freed Mark discover Barlow's coffin in the cellar and destroy him by driving a stake through his heart. Fleeing the other vampires in the house (the infected townsfolk), the two set fire to the Marsten property as they leave, though Susan is nowhere to be found. While the house burns, the wind carries the fire toward the town itself. As he and Mark drive away from Salem's Lot, Mears comments that the fire will drive all the vampires from their hiding places and purify the town from the evil that has engulfed it.
The story returns to Mears and Mark at the church in Guatemala two years later. It becomes clear that they are on the run from the surviving Salem's Lot vampires, and that their bottles of holy water glow whenever a vampire is nearby. Realising that they have been tracked down yet again, Mears and Mark return to their lodgings to collect their belongings. Once there, Mears finds Susan lying in his bed. Now a vampire, she prepares to bite him as he leans down to kiss her, but instead Mears drives a stake through her heart and destroys her. A grief-stricken Mears then leaves with Mark, knowing that the vampires will continue to pursue them.