He was raised in Wimbledon and Oxford by his mother, who worked as a stage manager, and his father, who directed a pharmaceutical company. One of his first roles was on the British comedy TV series Suburban Shootout.
He earned a lot of praise for his performance as Captain Nicholls in the 2011 WWI drama War Horse.
His mother was an arts administrator and his father was a physical chemist. He was raised with an older sister and a younger sister. He previously dated singer Taylor Swift. He has also been romantically linked to Zawe Ashton. The couple announced their engagement in March 2022. In June 2022, the couple announced that they are expecting their first child together. They welcomed their baby in October 2022.