Après deux décennies d'errance, un roi revient pour retrouver sa famille et son royaume en péril.
Ulysse (Ralph Fiennes) rentre à Ithaque après vingt ans d'absence, marqué par les épreuves de la guerre de Troie. À son arrivée, il découvre que son épouse, Pénélope (Juliette Binoche), est assiégée par des prétendants ambitieux, et que son fils, Télémaque (Charlie Plummer), est en danger. Pour sauver sa famille et reconquérir son trône, Ulysse doit affronter les démons de son passé et retrouver la force qui l'habitait autrefois.