Il a joué dans le film Elizabeth, produit par sa mère. Le 31 janvier 2008, il a pris le rôle de Daniel Radcliffe dans une reprise de la pièce Equus. Il a également joué dans le drame Freefall diffusée sur la BBC Two.
En 2010, il a joué dans de nombreux films : Powder, The Kid, Soulboy et The short Jenny. Il interprète également le personnage de Theon Greyjoy dans la série Game of Thrones dont la première saison est diffusée en 2011. | | |