his is a conflation of the stories of the birth of Jesus found in biblical accounts by Matthew and Luke.
Mary (Keisha Castle-Hughes) lives in the small town of Nazareth. She's still young enough to play with the other children of the town, although she must also work to help her poor family get by. The people of the town can barely pay the king's taxes. When one of their neighbors loses his daughter to involuntary servitude to pay off a tax debt, Mary is forced into a betrothal by her parents to Joseph (Oscar Isaac), a young homebuilder who has had his eye on Mary. They're told they must not consummate the marriage for a year. Mary's not happy with the arrangement. She barely knows Joseph; she certainly does not love him.
But then an angel (Alexander Siddig) appears to Mary, telling her she's been chosen by God to bear the Son of God, who will save their people. She's told her cousin Elizabeth (Shohreh Aghdashloo), who's ostensibly too old to have children, is already pregnant, which is proof God can do anything. Mary agrees to the angel's request, and then travels to see Elizabeth. Elizabeth is the wife of Zechariah (Stanley Townsend), a priest who was told in the temple his aged wife would conceive and bear a son, who was to be named John. Zechariah didn't believe it, so he lost his ability to speak. When Mary shows up, Elizabeth seems to know all about Mary's impending pregnancy, saying her own child leapt in her womb. Mary tells Elizabeth she's scared, since the law requires she remain pure. She thinks nobody will believe she's kept her vows. Elizabeth comforts her, telling her to trust God.
Mary stays until Elizabeth's child is born. Zechariah gets his voice back when he insists the boy be named John. Mary, who is now pregnant, decides she had better return home.
When she comes back noticeably pregnant, however, the whole town is scandalized, and Joseph is broken hearted. Mary's parents can't believe Mary; they fear she might have been raped by one of Herod's soldiers. They tell her she could be put to death for violating her vows. Joseph agrees not to press charges, but he's upset and bitter. The town shuns Mary. But then Joseph sees the same angel in a dream who tells him Mary's telling the truth, and so he takes her back, which now makes him an outcast in the town, too.
Meanwhile, evil King Herod (Ciarán Hinds) is worried about a prophecy of a new king who will be a Messiah for his people. He thinks some usurper may make political use of the prophecy to start an uprising. He decides to take advantage of Caesar's desire for a census to make everyone return to his ancestral home. Since the Messiah is to come from David's lineage, Herod thinks he can trap the pretender in Bethlehem, the City of David. Joseph is a descendant of David, so Herod's order also forces Joseph to go to Bethlehem. Mary agrees to go with him, so they undertake an arduous journey, during which Mary comes to see Joseph as a good, self-sacrificing man. Affection and trust grows between them.
At about the same time, three magi in Persia, who have also been studying prophecy, decide to travel to Judea because the alignment of a star with two planets tells them a new king will be born there. They load up some camels and take off across the desert. At a stopover in Jerusalem, they tell Herod the Messiah king will not be a grown man, but a little baby. Herod pretends he wants to pay homage to the new king, too, and asks them to return with directions once they've located him. After they leave, Herod hatches a terrible idea. He decides he can put an end to the people's hope in the prophecy by killing all the babies in Bethlehem.
Just as Mary and Joseph reach Bethlehem, Mary starts contractions. Joseph runs around looking for a place for her delivery, but all that's offered is a stable. Just as she gives birth, the three celestial bodies line up, and a shaft of light falls on the stable. Following the advice of the angel, some shepherds show up to see, including one who showed kindness to Mary and Joseph earlier. Mary tells him her baby is born for all mankind. The shepherds are followed by the magi. The magi present their gifts of gold for the king of kings, frankincense for the priest of priests, and myrrh for the one who must sacrifice.
After they leave, Mary and Joseph go to sleep, but then Herod's soldiers begin their terrible infanticide. Just in the nick of time, the angel's voice warns Joseph. So, as the soldiers start slaughtering the innocents, Joseph, Mary, and the baby Jesus are already out of town, heading for Egypt.