The Archangel Michael falls to Earth in Los Angeles and cuts off his own wings. After looting a weapons warehouse and stealing a police car, he travels towards the Paradise Falls Diner, near the edge of the Mojave Desert. Meanwhile, Kyle, a single father driving to Los Angeles, stops at the diner. He meets the owner, Bob Hanson; Jeep, Bob's son; Percy, the short-order cook; Charlie, a pregnant waitress; Howard and Sandra Anderson, a married couple; and Audrey, their rebellious teenage daughter. As the diner's television, radio and telephone fail, the elderly Gladys enters the diner and becomes abnormally hostile before biting a piece out of Howard's neck, whereupon Kyle shoots her. The attempt to transport Howard to the hospital is thwarted by a gigantic swarm of flies that surrounds the diner and isolates its patrons from the outside world.
Michael arrives and arms the patrons as the entire sky turns black. Hundreds of cars approach, filled with possessed people who begin to attack the diner. Michael leads the patrons in the fight, but Howard is dragged away. Later, Michael explains that God has lost faith in mankind and has sent his angels to destroy the human race. He also reveals that Charlie's baby must stay alive, as it is destined to be the savior of mankind; Michael disobeyed God's order to kill Charlie's baby, as he still has faith in humanity.
The next morning, Sandra discovers Howard crucified behind the restaurant and covered with huge boils. She tries to rescue him, but he violently explodes into acid. Percy dies shielding Sandra from the blast. Sandra is driven insane and must be restrained. Meanwhile, the remaining survivors hear a radio transmission that reveals there are other pockets of resistance. One such refuge is nearby, but Michael advises them not to go, since they would be too vulnerable on the move. That night, a second wave of possessed people attack. Kyle is lured into a trap and killed while Charlie goes into labor. Audrey and Michael help to deliver the baby as trumpets sound, signaling the approach of the Archangel Gabriel. In a panic, Sandra breaks her restraints and tries to give the baby to the possessed, but she is executed by Michael. Moments later, Gabriel enters the diner and fatally wounds Bob. Michael urges the group to escape and tells Jeep to "find the prophets, learn to read the instructions".
The hordes of possessed humans are unable to approach Charlie's baby; Jeep, Audrey, Charlie, and the baby go to Michael's cruiser. Gabriel and Michael fight to a standstill before Gabriel stabs Michael through the chest with his morning star. Michael dies and his body disappears. Dying, Bob uses his lighter to ignite the diner's gas main and blow up the diner, incinerating himself and the remaining possessed.
Jeep's body is covered in the same mysterious drawings seen on Michael's body; Jeep concludes that the tattoos are his instructions. Gabriel appears and a scuffle ensues in which Audrey is killed. Eventually Gabriel corners them in the nearby mountains and is about to kill them when Michael descends from Heaven, healed and restored to the rank of Archangel. Michael tells Gabriel that Gabriel gave God what He asked for, but Michael gave Him what He needed, giving humanity another chance; Michael says this was God's plan to test his angels and that Gabriel failed Him. Ashamed, Gabriel leaves. Michael explains to Jeep that he is the child's true protector and that they will see Michael again, before flying away. Charlie and Jeep reach the top of the mountain and see a small town in the valley below.
Sometime later, Charlie, Jeep, and the baby drive away � the shot widens to show that the back of their vehicle is full of weapons.