Il a joué le rôle de Fred Weasley dans les films Harry Potter avec son frère jumeau Oliver. Il a également joué dans Da Vinci Code et Kingdom.
Son frère Oliver et lui ont fréquenté l'école primaire de Little Sutton et l'école secondaire d'Arthur Terry avant de jouer le rôle des jumeaux Weasley à l'âge de 14 ans.
Il a interprété le personnage de Morris dans le court-métrage The Turn.
Il est né 13 minutes après son frère Oliver. Ses parents sont Susan et Martyn Phelps. En 2016, il a épousé Annika Ostle.
Il a joué le frère du personnage de Rupert Grint dans les films Harry Potter.