Es un actor conocido por haber obtenido papeles destacados en series como «Thirteen» (2016), «War & Peace» (2016), «SS-GB» (2017), «The White Queen» (2013) y «The ABC Murders» (2018
Comenzó a actuar en teatro local antes de hacer su debut en la televisión en la serie de drama «Jacob’s Ladder» en 2006.
Uno de sus primeros papeles importantes fue en la aclamada serie de drama histórico «Los Borgia» (2011-2012), donde interpretó a César Borgia. Luego protagonizó Hunky Dory» (2011) y la película «Ironclad» (2011).
En 2012 ganó el premio a la Mejor Interpretación Masculina en el Festival de Cine de Gijón por su papel en la película «The Truth About Emanuel».
Además, ha trabajado en películas importantes como «Citadel» (2012), «The Adventurer: The Curse of the Midas Box» (2013), «Dunkirk» (2017) y «The Goldfinch» (2019).