Mestre Gregory (Jeff Bridges) é um cavaleiro que aprisionou há séculos a Mãe Malkin (Julianne Moore), uma poderosa e malévola bruxa. Mas ela escapou e agora quer vingar-se.
Invocando os seus seguidores de cada encarnação, Mãe Malkin prepara-se para soltar a sua terrível ira sobre um mundo desprevenido.
Apenas uma coisa está no seu caminho: Mestre Gregory. Ele só tem até a próxima lua cheia para fazer o que, geralmente, leva anos: treinar o seu novo aprendiz, Tom Ward (Ben Barnes), para lutar contra uma magia negra diferente de todas as outras. A única esperança do homem está no sétimo filho de um sétimo filho.