In a prologue, the witch Mother Malkin is imprisoned in an underground chamber by Gregory, the last of a knightly order known as the Falcons, who have long defended humanity against supernatural threats. Several decades later, Gregory now works as a "Spook," a roving witch hunter.
The rise of the centennial blood moon allows Malkin to regain much of her power and break free from her prison. In a confrontation with the aged Gregory, she kills his apprentice, William Bradley, before escaping. Gregory then seeks out Tom Ward, the seventh son of a seventh son, on a local farmstead, and recruits him as his newest apprentice. Before Tom leaves, his mother gives him her necklace as a talisman.
On their way to Gregory's home, Tom sees a girl about to be burned by a mob as a witch. Recognizing her from clairvoyant visions he has had, he takes her from the mob and releases her. The girl, Alice, warns him not to let Gregory know about her.
Malkin returns to her dilapidated mountain fortress, restoring it, and her sister, Bony Lizzie, to their former condition. Alice is revealed to be Lizzie's daughter, who spies on Gregory for her. Malkin begins gathering her army to conquer mankind.
Tom meets Gregory's assistant Tusk, and rushes to learn what he needs to become a Spook before he and Gregory leave to confront Malkin at her fortress. Gregory warns that they have only a week before the blood moon is full, after which Malkin will be too powerful to stop. En route to the fortress, Gregory is summoned to a walled city by an Inquisitor whose forces have subdued one of Malkin's followers, a werebear named Urag. Gregory instructs Tom to burn the warlock alive, but Tom hesitates, causing Gregory to dismiss him while burning Urag himself. Tom meets Alice again and, after having sex, the two briefly consider going off on their own, but Tom has a vision of Malkin killing Gregory and unleashing destruction upon the world. Tom rejoins Gregory, who reveals that he once loved Malkin, and that is why he could not kill her, even after she murdered Gregory's own wife. Gregory feels responsible for every person killed by Malkin since then, and warns Tom that Alice must be killed, like all witches.
Gregory, Tom, and Tusk are attacked on the road by an enormous boggart, and Tom narrowly manages to kill it and survive being swept down a waterfall. Tom is then confronted by Bony Lizzie, who attacks but is repelled by the necklace around his neck. Gregory recognizes it as the Umbran Stone, which increases the power of witches. It originally belonged to Malkin, but one of her witch followers, Tom's mother, stole it from her, weakening her enough for Gregory to trap her.
Malkin instructs Alice to steal the stone from Tom, promising to spare his life if she does. Malkin and her minions then raze the city to the ground to avenge the death of Urag. Tom's family happens to be in the city, and his mother sends her husband and daughter to safety, before managing to kill Strix the warlock and confronting Malkin with her own powers. Malkin kills her, mocking her for giving away the stone that would have saved her life.
Out in the country, Alice reappears before Tom and pleads with him to leave with her, as he had suggested in their earlier meeting. Gregory tries to kill her, but Tom, blinded by love, stops him, proclaiming "She's not the enemy!". He lets her flee, but Gregory points out she has taken the Umbran stone from around Tom's neck, replying, "Now tell me she's innocent!". Tom realizes her reappearance had been a ruse, and pursues her, with Gregory and Tusk following. Then Malkin's servant Radu attacks them, capturing Gregory and driving Tusk and Tom over a cliff, wrongly assuming them dead. Tom has a vision of his mother, telling him that as both the seventh son of a seventh son, and the son of a witch, he is unique and has the power to defeat Malkin.
The witches gather as Malkin attempts to seduce Gregory with her magic. Alice is horrified to hear that Tom was left for dead. In remorse, she grabs the stone from Malkin, breaking Malkin's hold on Gregory. As Malkin transforms into a dragon to kill Alice, Lizzie also transforms, to protect her daughter. Tom retrieves the stone and, fighting together, Gregory, Tom and Alice kill several of Malkin's minions. Malkin defeats and kills Lizzie for her disloyalty, but is seriously wounded in turn. Gregory confronts Malkin in her room, alone. She appears close to death, but Malkin then seizes him with her claws. Tom arrives and throws a blade at Malkin, freeing Gregory, who walks away. Tom finishes her off by burning her body.
Afterwards, Gregory acknowledges Tom's training is complete and brands his hand as a new Falcon knight. Alice appears, but accepts that Tom's commitment to his new vocation means they cannot be together at the present. She promises Tom that they'll meet again, before disappearing. Gregory departs for an unknown destination, leaving Tom with Tusk as the town bells ring, calling for the new Spook's services.
Before Tom leaves, what does his mother give him as a talisman?
her necklace