Jim Norman [Tim Matheson] returns to his old hometown of Liberty, Missouri after taking a teaching job there, moving back with his wife Sally Norman [Brooke Adams] and their son, Scott Norman [Robert Hy Gorman]. The town still bears the memory of a brutal family tragedy: when Jim was nine, he watched his older brother Wayne Norman [Chris Demetral] be murdered during a mugging in a train tunnel in 1963. The gang members responsible—Richard, Vinnie [Nicholas Sadler], and David—were killed shortly afterward by an oncoming train, while a fourth, Carl, survived the crash and vanished into the background of Jim’s memories.
Back in Liberty, Jim is haunted by nightmares about his brother’s death. Soon after, three of his students are killed by the ghosts of Wayne’s killers, and the former criminals return from the dead as students in Jim’s class. The police grow suspicious of Jim’s proximity to the dead youths, casting a darker light on his homecoming. On the 27th anniversary of Wayne’s murder, the revived trio challenges Jim to a confrontation, and violence follows when they attempt to harm his son with their car. Jim discovers that Wayne’s spirit has been stuck in limbo, the result of an unresolved murder case, and that the keys to vengeance lie buried in old actions from his childhood.
A pivotal revelation ties Jim’s past to the present: years ago, Jim took the murderers’ car keys, a petty act that nevertheless set off a chain of fatal events. He journeys to the Cemetery and finds the graves of the greasers, where the three killers appear and tell him that the wreck survivor Carl must complete their revenge. Desperate, Jim tracks down the now-adult Carl using a phone book and forces him to return to the tunnel, but Carl hesitates and flees.
The threat intensifies when the gang invades Jim’s home, threatening Sally and Scott. Jim protects his family and leads them to a church—an asylum where the demonic gang cannot enter. Yet the danger isn’t over. Jim returns to his abandoned childhood home and finds the old car keys, the tangible remnants of a past that won’t stay buried. Carl reappears and apologizes for Wayne’s death, claiming he’s no longer afraid, but the gang forces him to accompany them as they depart. The trap tightens when the greasers kidnap Sally and Scott to ensure Jim will reenact the fateful events of that night.
The battle returns to the train tunnel, the stage where Wayne’s murder unfolded. The gang plans to kill Jim in the same way, dragging him deeper into their grisly plan. Carl, now standing up to the others, tries to intervene but Lawson—[Robert Rusler]—stabs Carl to death, a brutal act that finally allows Wayne to return from limbo. The gang’s attempt to repeat the murder escalates, but Jim distracts them by dropping the keys, and he bursts in to rescue his family from the gang’s car. A spectral train materializes, a ghostly echo of the past, and the path to the afterlife is set in motion.
As the train roars toward them, the gang is confronted with justice long overdue. Wayne finds peace and moves on, and the living family begins to walk away from the tunnel toward home, the danger behind them and a fragile calm ahead. In a climactic moment of defiance and finality, Jim faces Lawson one last time and taunts him:
> It's all over, Lawson. Now you can go to hell!
With the malevolent force defeated and Wayne finally at peace, Jim, Sally, and Scott leave the tunnel and return to the ordinary rhythm of life, carrying with them the weight of the past and the quiet hope of a safer future.