
Die römische Provinz Palästina wird vom hebräischen König Herodes (Ciarán Hinds) regiert. Der verhasste Despot knechtet sein Volk mit hohen Steuern, um einen gigantischen Palast bauen zu können. Er fürchtet sich aber auch vor Verrat, und ganz besonders vor den Prophezeiungen, die von der Ankunft eines Königs der Könige sprechen. Im fernen Persien beschäftigen sich die drei Gelehrten Kaspar (Stefan Kalipha), Melchior (Nadim Sawalha) und Balthasar (Eriq Ebouaney) ebenfalls mit dieser Vorhersage. Eine einmalige Sternenkonstellation soll ihnen schon bald den Weg weisen zu einem Ereignis von epochaler Bedeutung. Keine Zeit für solche Überlegungen hat derweil die junge, lebensfrohe Maria (Keisha Castle-Hughes), die mit ihren Eltern Joachim (Shaun Toub) und Anna (Hiam Abbass) im Städtchen Nazareth lebt. Weil der Vater die hohen Steuern wieder nicht zahlen kann, entschliesst er sich, seine Tochter zu verheiraten. Maria muss gegen ihren Willen den scheuen Tischler Josef (Oscar Isaac) zum Mann nehmen, darf aber nach Gesetz während des ersten Ehejahres keine körperliche Beziehung haben. Aus Protest gegen diese Verbindung flieht sie zu ihrer Tante Elisabeth (Shohreh Aghdashloo), die im fortgeschrittenen Alter überraschend ein Kind erwartet. Ihr will sie zur Hand gehen und sich noch nicht ins eigene Schicksal fügen. Als sie Monate später nach Hause zurückkehrt, trägt sie ebenfalls ein Kind unter dem Herzen. Nicht ein Mann sei der Vater, sondern Gott habe sie auserwählt, seinen Sohn zu gebären, erzählt sie den geschockten Eltern. Josef ist verzweifelt, doch er kann und will Maria nicht verstossen. In einem Traum erscheint ihm ein Engel und bestätigt Marias Geschichte. Gemeinsam beugt sich das junge Paar dem göttlichen Willen. Als die Geburt bevorsteht, muss Josef mit seiner Frau nach Bethlehem reisen, denn der römische Kaiser lässt sein Volk zählen. In einem Stall bringt Maria schliesslich ihr Kind zur Welt.