Vesemir (Theo James) ist ein Hexer bzw. Witcher. Er jagt Monster für Geld und er macht das gut und es macht ihm Spaß. Moral oder solche Dingen interessieren ihn eher wenig. Allerdings werden Stimmen laut, dass die Hexer zu gut arbeiten und die Monster immer weniger werden – Gerüchte machen die Runde, dass dies den Hexern nicht passt und sie deshalb selbst Monster züchten oder zumindest die Monster in menschlichere Gegenden hetzen, damit sie weiterhin Geld für ihre Arbeit bekommen können.
Eine von diesen, wenn nicht sogar die Hauptstimme dahinter, ist Tetra (Lara Pulver), ihres Zeichens Zaubererin. Eine der wenigen Gegenstimmen ist Lady Zerbst (Mary MocDonnell), welche eine Vorgeschichte mit den Hexern hat.
Über kurz oder lang läuft es darauf hinaus, dass Vesemir gemeinsam mit Tetra angeheuert wird, um der Sache auf den Grund zu gehen und was die beiden entdecken ist ungeheuerlich und wird die Welt für immer verändern. Zumindest für die Hexer …