Ethan Wate (Alden Ehrenreich) es un estudiante de colegio que no ve el momento de salir del pueblo en el que vive, Gatlin. Él cree que la ciudad es muy aburrida y que nada interesante ocurre allí, pero se ve obligado a quedarse a cuidar a su padre, quien desde que su esposa murió hace un año atrás no abandona su habitación. Hace algunos meses que Ethan tiene sueños misteriosos, donde aparece una mujer desconocida. Un día encuentra a la misteriosa chica en su clase del colegio. Ella es Lena Duchannes (Alice Englert), una joven de 15 años que está viviendo con su Tío, Macon Ravenwood (Jeremy Irons), desendiente de la familia que fundó Gatlin. El problema es que Macon y su familia tienen famas de ser brujos, lo que hace que gran parte de la población les tenga miedo. No pasa mucho tiempo hasta que Ethan se interesa por Lena, sin saber que ella y su familia tienen poderes especiales. Ellos tendrán que luchar por el amor que sienten por el otro, especialmente debido a una maldición que ensombrece la unión.