Norman Babcock, a young boy living in the town of Blithe Hollow with his parents Sandra and Perry and sister Courtney, has the ability to see and speak to the dead. However, nobody in the town except his friend Neil believes him. One day, Norman's uncle Mr. Prenderghast warns him of a ritual he must take up to protect the town from a curse cast by a witch centuries ago, prior to her execution. Prenderghast dies shortly afterwards.
Norman has a vision of the witch hunt during a school play, humiliating himself in front of the town and resulting in Perry grounding him. Afterwards, he is warned by the ghost of Mr. Prenderghast that the witch's ghost will awaken and raise the dead unless he reads a certain book at her gravesite. Norman, encouraged by the ghost of his grandmother, retrieves the book from Mr. Prenderghast's cabin and reads it at the burial grounds of the witch's victims, only to find it to be a collection of fairytales. He is interrupted by the school bully Alvin, who takes the book. The sun sets and the witch's ghost awakens and summons the accursed dead from the grave.
The zombies pursue Norman and Alvin through the woods, where they are rescued by Neil, Courtney, and Neil's brother Mitch. While driving towards the town, Norman is advised by his classmate Salma that the Town Hall may contain information on the witch's burial grounds. The group are pursued by the leader of the zombies, Judge Hopkins, and Sheriff Hooper, causing the van to crash. The group continues on foot towards the Town Hall while the zombies are attacked by the townsfolk. They arrive at the Town Hall, but fail to find the information they need. An angry mob, rallied by Norman's teacher Mrs. Henscher, besiege the Town Hall, trapping the group inside. Norman is chased to the roof of the building by the zombies, where he sees the witch's ghost descending above. He attempts to read the book to her, but the witch strikes it with lightning, destroying the book.
Unconscious, Norman has a dream where he learns the witch was Agatha Prenderghast, a young girl who could also speak to the dead. Awakening, Norman encounters the zombies, and Judge Hopkins admits that they only wanted to help Norman find Agatha's burial site to atone for their crimes towards her. Norman and the zombies are cornered by the mob, but the rest of the group convinces them to back down, enraging Agatha's ghost, who wreaks havoc across the town. In the midst of the chaos, Norman and his family are guided to Agatha's grave by Judge Hopkins. Norman confronts Agatha alone and speaks to her in the spirit dimension, enduring her assault until he manages to convince her that her vengeance is accomplishing nothing, telling her that there must have been someone who was kind to her.
Agatha reminisces times with her mother. She empathizes with Norman and, having found someone who understands her, manages to find peace and passes onto the afterlife, along with the zombies. The town rationalizes the witch's storm as a tornado, and Norman is accepted for his abilities and reconciles with his family.
- Kodi Smit-McPhee as Norman Babcock.
- Tucker Albrizzi as Neil Downe.
- Anna Kendrick as Courtney Babcock.
- Casey Affleck as Mitch Downe.
- Christopher Mintz-Plasse as Alvin.
- Leslie Mann as Sandra Babcock.
- Jeff Garlin as Perry Babcock.
- Elaine Stritch as Grandma Babcock.
- Bernard Hill as Judge Hopkins.
- Jodelle Ferland as Agatha Prenderghast.
- Tempestt Bledsoe as Sheriff Hooper.
- Alex Borstein as Margot Henscher.
- John Goodman as Mr. Prenderghast.
- Hannah Noyes as Salma Ramsay.