Alicia Vikander as Sophia Sandvoort, Cornelis’s wife Dane DeHaan as Jan van Loos Jack O'Connell as William Zach Galifianakis as Gerrit Judi Dench as The Abbess of St. Ursula Christoph Waltz as Cornelis Sandvoort, Sophia’s husband Holliday Grainger as Maria Matthew Morrison as Mattheus Cara Delevingne as Annetje Tom Hollander as Dr. Sorgh Cressida Bonas as Mrs. Steen Kevin McKidd as Johan De Bye David Harewood as Prater