After playing Oscar Wilde's lover John Gray in 1997's "Wilde" he took a role as Fifth Officer Harold Lowe in the blockbuster film "Titanic". He later landed the role of Horatio Hornblower in "Hornblower", the Meridian production of the C. S. Forester novels (1998–2003), shown on ITV1 and A&E. He has said: "It was quite something for an unknown actor to get the lead. So I will always be grateful to Hornblower. ... I would love to play this character through every stage of his life. I think it would be unique to have an actor playing him from the very early days as a midshipman, through till he's an Admiral. So, I would love to play this character till he perishes."