Oyunculuğa 11 yaşında başladı. 1998'de The Worst Witch adlı gençlik dizisinde Ethel karakteriyle ünlendi. Çeşitli İngiliz dizilerinde oynamaya devam ettikten sonra 2008'de sinemada da kendini göstermeye başladı. 2013 yapımı Görünmez Kadın'da başrolü Ralph Fiennes ile paylaştı. The Amazing Spider-Man 2 filminde Felicia, The Theory of Everything'de Jane Hawking karakterlerini canlandırdı. Dan Brown romanından uyarlanan Inferno filminde ise Sienna Brooks rolünde oynadı. 2016 yapımı Star Wars filmi Rogue One: A Star Wars Story'de de Jyn Erso rolündeydi.