Deus perdeu a fé na humanidade e enviou o anjo Michael (Paul Bettany), juntamente com uma legião de anjos, para dar início ao apocalipse. Entretanto, ao chegar Michael resolve se opor às ordens recebidas e proteger os humanos. O palco da batalha será no interior dos Estados Unidos, onde fica uma lanchonete gerenciada por Bob Hanson (Dennis Quaid) e seu filho Jeep (Lucas Black). Juntamente com Charlie (Adrianne Palicki), uma garçonete grávida, e Percy Walker (Charles S. Dutton), eles precisam encontrar um meio para sobreviver aos anjos que desejam exterminá-los a todo custo.