In Gatlin, South Carolina, teenager Ethan Wate awakens from a recurring dream of a girl he does not know. He despairs his small-town existence and dreams of leaving Gatlin for college. His first day of junior year, Ethan notices newcomer Lena Duchannes, who resembles the girl he has been dreaming about. The other students spread gossip about Lena’s reclusive uncle, Macon Ravenwood, and suggest that her family includes devil worshippers. On a drive home, Ethan nearly runs over Lena. He gives her a ride home, and the two bond over common interests.
During class, a couple students insist they can not be in a class with Lena. They pray to be protected from her and her family. Lena is visibly shaken and the classroom windows shatter, amplifying the fears and suspicions of the townspeople that she is a witch. Ethan and Lena become friends and he gives her a locket he found at Greenbriar as a present. Both of them touching the locket triggers a shared flashback to the American Civil War. Macon disapproves of the couple’s developing love and conspires with Ethan’s family friend, Amma, to keep the two separated. Lena confesses to Ethan that she and her family are “casters” capable of performing magical spells. On her sixteenth birthday, her true nature will steer her toward either light or dark.
Matters are complicated by the arrival of two powerful dark casters who aim to push Lena to the dark: Ridley, Lena’s cousin, and Lena’s mother, Sarafine, who did not raise Lena and has possessed Mrs. Lincoln, the mother of Ethan’s friend Link. Sarafine foresees that Lena will become a powerful caster. She intends for Lena to use her newfound power to purge the Earth of humans, leaving casters to rule in their wake. Lena and Ethan use the locket to experience another flashback of their past, which reveals that their ancestors, caster Genevieve Duchannes and mortal Confederate soldier Ethan Carter Wate, were in love. Ethan Carter was shot in battle, and Genevieve revived him using a forbidden spell that caused her to go dark and lay a curse on all the Duchanne women; they will go dark on their sixteenth birthday. This mortifies Lena. They consult with Amma, who is a seer and keeper of the caster library beneath the town library, extending all across the USA. The most ancient of these books reveals the secret to undoing the curse: someone Lena loves has to die. Unwilling to take Ethan’s life, Lena erases his memories of their time together.
Ridley seduces Link and gives him a bullet to use in an upcoming Civil War reenactment of the Battle of Honey Hill which will take place on Lena’s birthday. On her sixteenth birthday, Lena feels the shock of the curse being broken and runs to Ethan, clutching his dying body as Ridley and Sarafine encourage her to accept the dark. She lashes out in anger, sending a huge tornado through the crowd, until Ethan’s body transforms into Macon, who had disguised himself as Ethan to become the sacrifice which lifts the curse. In dying, he reveals that he promised Ethan’s mother to keep her son alive. These dying words encourage Lena to “claim [her]self”; she causes the moon to disappear so it cannot claim her for the dark. She allows Ridley to flee and pulls Sarafine from Mrs. Lincoln’s body, using her power to seal Sarafine’s spirit away.
Six months later, a still-amnesiac Ethan stops by the library to visit Amma before leaving for a college tour with Link. Lena gives him a book they had previously shared together as a present. Lena is revealed to be a half light/dark caster, like her mother and cousin. As Link and Ethan drive past the town line, Ethan glimpses the town’s burned exit sign and has a moment of remembrance. He gets out of the car and yells Lena’s name; she hears his call and is freed of her dark side as the film ends.