Evil angel Gabriel (Christopher Walken) has come to earth to strengthen his powers by claiming the wicked spirit of a psychotic veteran. The benevolent angel, Simon (Eric Stoltz), want to stop that from happening, so hides the man's spirit where Gabriel would least expect to find it: in a little girl (Moriah Shining Dove Snyder). Caught in a cosmic battle in which even Lucifer (Viggo Mortensen) plays a part, a liturgically minded cop (Elias Koteas) moves heaven and earth to protect the child.