He appeared in the HBO series Band of Brothers and had his first film role in the dramatic war film Black Hawk Down.
His performance as Skank in a 2003 stage production of In Arabia We'd All Be Kings earned him a Laurence Olivier Award for Most Promising Newcomer.
He was married to Sarah Ward from 1999 to 2004. He had a son named Louis with then-girlfriend Rachael Speed in 2008. He married actress Charlotte Riley in July 2014. The couple welcomed a child in October of 2015. They have a dog named Max.
He appeared in the romantic comedy This Means War with Reese Witherspoon.