He began his acting career at age 13 in a television film called Austin.
He appeared in a music video alongside Claudia Schiffer for Westlife's version of "Uptown Girl."
He married actress Alice Evans in 2007. He has two daughters named Elsie and Ella. Evans announced the couple's separation in January 2021.
He starred opposite Sarah Michelle Gellar in their short-lived television show Ringer.