In the suburban town of Wentworth, Ohio, a paperboy is suddenly shot by a mysterious stranger in a red van, and the town's panicked civilians run for shelter. Author Johnny Marinville attempts to contact the police about the body, but an otherworldly force prevents the call from going through. Two other vans later appear and kill three more residents. Former police officer Collie Entragian directs the townspeople and corrals them into the homes of victim David Carver and veterinarian Tom Billingsley. The only two residents to stand aside are Audrey Wyler and her nephew Seth, whom she has been caring for since the death of his parents two years ago.
During a trip to a mining town in Desperation, Nevada, an evil being named Tak took possession of Seth's body and killed Seth's parents. Tak then forced Audrey's husband to commit suicide, and Audrey took refuge in a mental construct of her creation. Tak is the source of the vans, which are derived from the cartoon MotoKops 2200, which Seth watches religiously. Seth also often watches a Western movie named The Regulators, and Tak transforms the town into an Old West landscape.
After several other residents are killed in various ways (including Collie, who is mistakenly shot by a neighborhood teenager), Seth ingests a laxative administered by Audrey, which causes Tak to leave Seth's body. Audrey leads everyone across the street into her house as she explains the situation. Cammie Reed, whose son had died earlier, kills Seth and mortally wounds Audrey as Tak tries to sneak back into the boy’s body. Tak’s attention is diverted to her, and it flies into Cammie’s body, but she cannot hold up to Tak the way that Seth could, and her body is destroyed as a result of the possession. Tak leaves her in the form of smoke and dissipates in the wind. The vans disappear and the landscape is returned to its normal state. A short epilogue in the form of a letter reveals that Seth’s and Audrey’s ghosts have taken up residence at the meadow from Audrey’s mental sanctuary, and live there happily.