Graham Hess (Mel Gibson) es un pastor protestante que vive con sus dos hijos (Rory Culkin y Abigail Breslin) y con su hermano Merrill (Joaquin Phoenix), una antigua estrella del béisbol que trabaja en una gasolinera. Tras la muerte de su esposa en un accidente de tráfico, Graham pierde la fe y, en consecuencia, abandona a sus feligreses. Una mañana, al despertarse, se encuentra con que sus hijos han hecho un descubrimiento escalofriante en los campos de maíz que rodean su granja.