Marié à l'actrice Victoria Donovan. Il est devenu professionnel en 1996 quand, sans formation formelle, il a décroché un rôle dans la version du West End très acclamée de « Jesus Christ Superstar » à Londres. Il a assuré les doublures et joué Valjean dans la légendaire comédie musicale londonienne.
Il a joué Quasimodo dans Notre-Dame de Paris au Dominion Theatre.
Il a performé dans deux productions différentes de Macbeth, au Globe et dans la version d'Edward Hall avec Sean Bean et Samantha Bond. Il a tourné en Amérique avec la RSC dans Les Contes de Canterbury, puis a fait une tournée américaine dans « Black Watch », la comédie musicale primée plusieurs fois, réalisée par John Tiffany, incarnant l'Officier.
Ses crédits télévisés incluent un rôle régulier : le Capitaine Dragonetti dans Da Vinci's Demons de David S. Goyer (3 saisons) et Elfrick dans World Without End réalisé par Michael Caton Jones.
Des rôles dans Endeavour, Misfits, Ripper Street, Five Daughters, Dalziel and Pascoe, The Knock, EastEnders, Casualty, Holby City, The Bill, Family Affairs, et son moment le plus mémorable dans 4 épisodes de l'emblématique Grange Hill.
Die Another Day, Gangs of New York, Les Misérables et The Dark Knight figurent parmi les films blockbuster dans lesquels il a joué.
Il a participé à plusieurs films indépendants d'envergure critique, notamment en tant que Chae Strachan dans Sunset Song, réalisé par l'iconique Terence Davies, et Tommy's Honour, qui a remporté le meilleur film aux Scottish BAFTA en 2017, réalisé par Jason Connery.
Parmi ses autres films : I Am Soldier, Pressure, Who Needs Enemies, The Wee Man, The Last Photograph, Hummingbird, Winter Ridge.
En 2018, on peut le voir dans The Terror sur AMC et il incarne Brian McClay dans le film Calibre aux côtés de Jack Lowden.
Il est représenté par Sophie Austin chez United Agents et managé par Lena Roklin aux États-Unis.