Starring roles include Cracker, Blue Dove, Cadfael, Hamish MacBeth, Kavanagh QC, Rose and Maloney, Rebus, Silent Witness, Highlander: The Raven, Casualty, DCI Banks, Waterloo Road, The Bill, The Governor, The Borgias and Hatfields and McCoys. He played Adam Carnegie in the ITV1 drama series The Royal for three series and played Tommy Grant in the BBC1 soap opera EastEnders. He starred in the 1998 ITV version of Wuthering Heights as Heathcliff. He played Ian in Emmerdale and guest starred on the second series of Outlander shot in 2015.