Barkley was born in London but raised in Wadebridge, Cornwall. He was educated at Wadebridge School, and later at Colston's Collegiate School, Bristol where, under the guidance of Peter Mallorie and Alan Martinovic, he captained the team to a Daily Mail Cup success in 2000.
Barkley was spotted by Andy Robinson and Brian Ashton while playing for Colston's in 1999–2000. He made his Heineken Cup début for Bath on 6 October 2001, coming on as a reserve against Swansea. He scored his first Heineken Cup try in a game against Italian club Gran Rugby, whilst playing at fullback on 11 October 2002 in Parma.
He made his début for England during the summer tour to North America in 2001 in a game against the United States on 16 June in San Francisco, coming on in the second half as a replacement in the 48–19 win. He was 19 years old at the time, and had not yet made a senior appearance for his club.
He returned to the England side as a reserve in the opening game of the 2004 RBS Six Nations against Italy in Rome. He held his position for the subsequent match against Ireland at Twickenham. He made a breakthrough in 2004 when Sir Clive Woodward handed him England's number 10 jersey for the Six Nations Championship matches against Wales when he replaced an injured Paul Grayson at fly half and France, scoring 27 points over the two games. It is thought that from his promotion in the 2004 Six Nations he became a regular member of the squad. Later on in 2004, during the mid-year tests against the southern hemisphere nations, Barkley was a reserve for the matches against the All Blacks in Auckland and Wallabies in Brisbane.
He started off the 2005 Six Nations as a reserve in the opening match against Wales in Cardiff, but started the next match against France at Twickenham, where he scored a try in the 17–18 defeat. He subsequently started the remaining matches against Ireland, Italy and Scotland. He was a reserve in two other matches in 2005, against Australia and Samoa. Barkley dislocated his thumb in a club match against Leinster, the injury ruling him out of the opening game of the 2006 Six Nations Championship against Wales.
England coach Andy Robinson named him in his touring party to Australia in June. Barkley was also one of the 18 players of the touring squad who were named in a 24-man England squad to take on the Barbarians at Twickenham on 28 May. Barkley inspired the first English win over the Barbarians since 2002, as he accumulated 21 points in the match, including one try. He was the starting fly-half for the first of two tests against Australia, England losing 34–3, with Barkley scoring England's only points of the match in the form of a penalty goal. Barkley came off the bench in the second test in Melbourne, which was England's last match on the short tour.
On 1 August 2006 Barkley was arrested in Newquay by police using CS spray after a fight in which a man suffered a broken jaw, but was later released without charge. He was selected for the England Saxons for the 2007 Churchill Cup. He was a member of England's 2007 World Cup squad.
In search of a new challenge, Barkley joined Gloucester Rugby in July 2008 on a two-year contract after 6 years at Bath.
In April 2009, it was announced that he would be returning to Bath after just one season at Gloucester because he felt that Bath was where his heart was and that the club could offer him better opportunities. However, Barkley's new stint at Bath did not start well, breaking his leg at a pre-season contact session. He has now recovered from the injury and is back playing. After only four games back for Bath (one as a replacement and three starting at inside centre), Barkley was already receiving praise for his outstanding performances, with coach Steve Meehan claiming that he should be pressing for a place in Martin Johnson's 44 man squad to tour Australia in the summer. He scored his first try back for Bath against Harlequins
Barkley was a key player for Bath in the 2010–11 premiership season, playing a part in 14 matches and scoring 142 points including a last-minute penalty against London Irish in a 24–25 away win. His season was cut short during Bath's away fixture against Gloucester in the premiership after a collision with teammate Butch James saw him break his leg in two places.
On 20 September 2012 it was announced that Barkley had signed a contract with Racing Metro under the Medical Joker rule. He scored 16 points in his last Bath game, at the Rec against Sale.
On 13 May 2013, Barkley would leave Racing Metro to join Grenoble in the French Top 14 on a two-year contract for the 2013/14 season. However, on 29 January 2014, it was announced Barkley would leave Grenoble with immediate effect due to the move to the French club not working out well for himself. On 3 February 2014, Barkley signed for Welsh region Scarlets in the RaboDirect Pro 12 on a four-month contract until the end of the season.
On 9 June 2014 it was announced that Barkley had signed for London Welsh at the conclusion of his four-month contract at Scarlets.
Barkley began contributing to online men's lifestyle magazine Blokely in 2011.
Barkley is a Patron for NACOA – a charity that provides information, advice and support for anyone affected by their parents drinking.
Barkley says "Nacoa is a worthy cause and I intend to do the best I can to raise awareness of this hidden illness, an illness that’s close to home for me. Alcohol abuse is everywhere and it’s not only the drinkers who bear the brunt. More often than not, it’s the family or close friends that are affected both emotionally and physically. The unconditional support that Nacoa offers is crucial. To know there is somebody on the end of the phone can sometimes be the difference that person needs to help them through the day, month and sometimes a lifetime."