Most well known for his role as James Potter in the 2007 movie Harry Potter and the Order of the Phoenix, he also appeared in episodes of the British TV series Trial & Retribution and Waking the Dead.
In his mid teens, he began performing with the National Youth Theatre.
In 2007, he appeared in two episodes of Waking the Dead.
He was born and raised in Yeovil, Somerset, England. He dated Evanna Lynch, who portrayed Luna Lovegood in the Harry Potter films, for nine years.
He appeared with Hayley Atwell in the 2013 Jimi Hendrix biopic Jimi: All Is by My Side.