Betrothed to much-older Joseph (Oscar Isaac), Mary (Keisha Castle-Hughes) must remain a maiden for one year, but she subsequently receives a visit from the angel Gabriel, who tells her of her destiny. When Joseph and now-heavily pregnant Mary journey to Bethlehem for the Roman census, they face a threat from King Herod, whose obsession with an ancient prophecy endangers soon-to-be-born Jesus.