Tras 20 años de ausencia, Odiseo (Ralph Fiennes) aparece varado en las costas de Ítaca, demacrado e irreconocible. El rey ha regresado de la guerra de Troya, pero muchas cosas han cambiado en su reino. Su amada esposa Penélope (Juliette Binoche) está prisionera en su propia casa y es perseguida por pretendientes que compiten por el trono. Su hijo Telémaco (Charlie Plummer) corre el peligro de morir a manos de estos pretendientes, que lo ven como nada más que un obstáculo en su camino hacia el reino.