Comincia a lavorare ancora bambina partecipando a diverse serie tv della BBC e a film indipendenti. La popolarità arriva nel 2011 quando ottiene il ruolo di Lucrezia Borgia nella serie tv I Borgia Nel 2012 è al fianco di Robert Pattinson e Uma Thurman in Bel Ami - Storia di un seduttore, e ha interpretato il ruolo della Baronessa Shilton nel film in costume Anna Karenina di Joe Wright.
Ancora nel 2012 è nel film Grandi speranze ispirato a un romanzo di Dickens. Nel 2015 sarà Anastasia, una delle due sorellastre di Cenerentola nel film di Kenneth Branagh.