Er steht im Mittelpunkt einer uralten Prophezeiung, auch wenn er zunächst noch nichts davon ahnt: Der Junge Tom (Ben Barnes), der auf dem Hof seiner Mutter arbeitet, ist erwählt, zum Helden zu werden. Als siebter Sohn eines siebten Sohnes gehört er zum Orden der Geisterjäger, der gegen Hexen und andere magische Wesen kämpft. Tom geht bei John Gregory (Jeff Bridges), dem letzten Meister in der Kunst, schwarze Magie abzuwehren, in die Lehre. Und bald bekommt er es mit einer übermächtigen Gegnerin zu tun: der Hexe, Mutter Malkin (Julianne Moore), die nichts weniger will, als die Geisterjäger ein für alle Mal auszulöschen - und die dazu eine ganze Armee übernatürlicher Gestalten befehligt...