דן טורנס (יואן מקגרגור) הוא גבר בוגר שנושא עמו צלקות עמוקות מהילדות, כשהוא נאבק למצוא שלווה אחרי הטראומות שחווה. הוא חי עם כוחות מיסטיים שמלווים אותו מאז שהיה ילד, אך במקום לברוח מהם, הוא מנסה להתמודד ולשלוט בהם. דן פוגש את אברה (קיילי קורן), נערה צעירה שגם לה יש כוחות על טבעיים דומים לשלו, והם חולקים קשר מיוחד שמחבר ביניהם. אברה פונה אל דן בבקשת עזרה, כי היא מוצאת עצמה במאבק נגד רוז (רבקה פרגוסון), מכשפה אכזרית ושאפתנית שמנצל את כוחותיהם של תמימים כדי להזין את עצמה ולהתחזק.
רוז וכנופייתה משתמשים ביכולות העל-חושיות של הקורבנות שלהם כדי להשיג כוח ושליטה, והם מהווים איום ממשי על דן ואברה. דן, שנאלץ להתמודד עם הפחדים העמוקים ביותר שלו, מוצא את עצמו מעורר רוחות מן העבר ומבקש להגן לא רק על עצמו אלא גם על אברה ועל כל מי שחשוף לסכנה. השניים יוצאים לקרב מסוכן שבו כל אחד מהם חייב להעז ולהשתמש במלוא הכוח המיסטי שברשותו, כדי לעצור את רוז ולהפסיק את מעגל האימה שהיא יוצרת. הסיפור מתמקד במאבק הפנימי והחיצוני של דן, שמנסה לא רק לשרוד אלא גם למצוא משמעות ותקווה בתוך עולם אפל ומסוכן, כשהוא מגלה שהכוחות המשותפים שלו ושל אברה הם המפתח לניצחון על האופל. הקרב בין הטוב לרע מתפתח למאבק על החיים עצמם, שבו כל טעות עלולה להיות קטלנית.
