Carberry began his career at Surrey, during which time he also played for the Surrey Cricket Board. He played for Surrey from 2001 to 2002, before joining Kent. He played for Kent from 2003 to 2005, before becoming frustrated with his opportunities there. He left Kent at the close of the 2005 season, joined Hampshire for the 2006 season, who Carberry currently plays for. Increasingly impressive performances for Hampshire led to international recognition, first with the England Lions, before making his Test debut against Bangladesh on England's 2009–10 tour. In July 2016 Carberry was diagnosed with a cancerous tumour.
Carberry, who was born in Croydon on 29 September 1980, is of Guyanese and Bajan descent. He was educated at St John Rigby College in West Wickham.
Carberry began playing for the Surrey Seconds in 1998, while the following season he made his List A debut for the Surrey Cricket Board against Norfolk in the 1999 NatWest Trophy. He scored 19 runs in the match, which the Surrey Cricket Board won. He played in the team's following round match against Cheshire, with Carberry being dismissed for 4 runs by Christopher Hall, in a match which ended in victory for Cheshire. He spent two further years in the Surrey Seconds, before making his first-class debut for the county against Leicestershire. He played 6 first-class matches in 2001, scoring 311 runs and scoring his maiden half century, against Glamorgan. He also made his List A debut for Surrey against Leicestershire, with the match following immediately after his first-class debut. The following season he made only one first-class appearance, against Cambridge UCCE, in a season in which Surrey won their 19th County Championship. He did, however, score his maiden first-class century in the match against Cambridge UCCE, making 153 not out. He found more opportunities that season in List A cricket, playing a handful of matches, though without success. However, with opportunities limited at Surrey, Carberry joined Kent for the 2003 season.
Carberry was signed initially by Kent as a batsman who could stand-in for Rob Key, whose international career was in its infancy, when he was on international duty. His first-class debut for Kent came against Leicestershire in the 2003 County Championship. With Key absent for the majority of the season, Carberry opened the batting in most of the matches he played, making 14 appearances and having a number of different opening partners, ranging from Key, James Tredwell, David Fulton and Greg Blewett. In his 14 first-class matches that season, he scored 824 runs at an average of 35.82, with a high score of 137. He played a handful of List A matches in his first season with Kent; in that format he was used as both a middle-order and opening batsman. This season saw Carberry make his maiden List A half century, a score of 79 against Worcestershire in the 2003 National League. He made his Twenty20 debut in the 2003 season, making 5 appearances in the Twenty20 Cup.
The following season, Carberry made 12 first-class appearances, which came with some success. He scored 639 runs at an average of 42.60, with two centuries and a high score of 112. He performed well in that season's tour match against the New Zealanders, scoring 75 runs and sharing a 117-run partnership with Geraint Jones. A regular appearer in List A cricket for Kent that season, he scored 360 runs at an average of 24.00, with a high score of 76. He again featured for Kent in the 2004 Twenty20 Cup, although he performed poorly in that season's competition, scoring 15 runs at an average of just 3.75. He fell out of favour in the County Championship in 2005, playing just a single first-class match, against Bangladesh A. He still managed to maintain his place in the Kent limited-overs side, playing 12 List A matches in 2005, scoring 204 runs at an average of 24.50 with a high score of 63. He performed well in the 2005 Twenty20 Cup, making 7 appearances. He scored 242 runs at an average of 80.66, with a high score of 59 not out. During the 2005 season, Carberry had become increasingly frustrated by figures at Kent; the county gave him permission to talk to other counties. He eventually opted to join Hampshire for the 2006 season. His time at Kent brought him 1510 first-class runs at an average of 37.75, with a high score of 137, and 736 one-day runs at an average of 23.74, with a high score of 79.
Later speaking about his overall time and final season at Kent to the Southern Daily Echo in 2010, he said "I was pretty close to quitting", and how in his opinion "they [Kent] messed me about quite a lot for three years."
Having joined Hampshire on a two-year contract, Carberry made his first-class debut for the county against Lancashire in the 2006 County Championship. He followed this up by making his limited-overs debut for the county against Ireland in the Cheltenham & Gloucester at Castle Avenue, Dublin. He firmly established himself in the Hampshire side in 2006, making 15 first-class appearances, in which he scored 938 runs at an average of 36.04, which included two centuries against Warwickshire and Middlesex. Shown faith by then Hampshire captain Shane Warne and coach Paul Terry, Carberry also appeared in 15 List A matches in his first season at the Rose Bowl, scoring 541 runs at an average of 36.06, with a high score of 88. He continued his previous seasons form with Kent, he performed well in the 2006 Twenty20 Cup, scoring 222 runs at an average of 27.75, with a high score of 90 against Middlesex. His performances that season saw him selected for the England A tour to Bangladesh.
The 2007 season was to prove even more successful for Carberry, with him scoring 1,067 first-class runs, which came at an average of 50.80, the first time his batting average had gone above 50 for a season. He struck his highest first-class score that season, making 192 not out against Warwickshire. He played 14 List A matches in 2007, scoring 345 runs with a high score of 75 not out. Additionally, he played part in guiding Hampshire to the final of the 2007 Friends Provident Trophy at Lord's, although in the final itself against Durham he was dismissed for 23 runs by Graham Onions, with Hampshire losing by 125 runs. His performances in the 2007 saw Carberry named as the Hampshire Cricket Society Player of the Year, as well as seeing him selected for the England Lions tour of India. He played for the Marylebone Cricket Club in the Champion County match against Sussex at the beginning of the 2008 season, batting once in the match and scoring 8 runs before being dismissed by Ryan Harris. His form dropped in 2008, with him scoring 815 first-class runs at average of 31.34, with a single century score of 108 (although this came for England Lions against the touring New Zealanders). In the 2008 Twenty20 Cup, Carberry had better fortunes, scoring 334 runs at an average of 37.11, with a high score of 58.
2009 brought further success for Carberry, with him passing 1,000 for the season. In total, he scored 1,251 runs at an average of 69.50, his best season average up to that part of his career. He also recorded his first double century that season, which came against Warwickshire. His total number of runs by August in the County Championship were third overall, behind Marcus Trescothick and Mark Ramprakash. Ten years after first playing List A cricket, Carberry also scored his maiden century in that format, making an unbeaten 121 against Ireland in the 2009 Friends Provident Trophy, with Carberry sharing in a Hampshire record partnership for the 3rd wicket in List A cricket of 260 with Sean Ervine. His performances in limited-overs cricket that season were and remain the best of his career, with 431 runs coming at an average of 53.87, the only time in his career to date his season average has passed this mark. Hampshire reached the final of the 2009 Friends Provident Trophy that season against Sussex, with Carberry scoring 30 runs in Hampshire's chase, before being dismissed by Yasir Arafat. Nonetheless, Hampshire won by 6 wickets to give Carberry his first silverware with the county. His good form continued in that seasons Twenty20 Cup, with Carberry scoring 307 runs at an average of 30.70, with a high score of 62. His rich form led to speculation that he could be called up to the England squad for the deciding 5th Ashes Test as a replacement for the poorly performing Ravi Bopara. In a County Championship match against Nottinghamshire, Carberry had made 86 runs before being forced to retire his innings after being struck by an Andre Adams delivery, which broke his left ring finger, ruling him out for the rest of that season. Despite missing the second half of the season, Carberry was again named as Hampshire Cricket Society Player of the Year.
Returning from international duty in the winter, a further strong season followed for Carberry in 2010, in 16 first-class matches that season he scored 1,385 runs at an average of 51.29, with a top score of 164. However, his form in limited-overs cricket was consistent as in previous seasons, with him scoring 346 runs in 12 matches, at an average of 34.60. He did, however, record his second limited-overs century, making 103 against Warwickshire in the Clydesdale Bank 40 at Edgbaston. He also played a key role in Hampshire's 2010 Friends Provident t20 victory, playing 12 matches in the format that season, scoring 205 runs at an average of 20.50, with a high score of 41. On finals day at Hampshire's ground, the Rose Bowl, Carberry scored 17 runs in the semi-final to guide Hampshire to their target of 157 runs against Essex, while in the final itself, he was dismissed for a duck by Somerset's Ben Phillips. Despite this, Hampshire tied with Somerset's score, but one the match on the basis of having lost fewer wickets in doing so.
Carberry's health was seriously affected, when in November 2010 he was diagnosed with blood clots on his lungs which ruled him out of travelling to Australia with the England Performance Programme. The blood clots threatened his career, with Carberry only being given the all-clear to resume his cricketing career mid-way through the 2011 season. On 5 August 2011 Carberry hit his career best score of 300 not out in a County Championship match against Yorkshire. Not only did he make his highest score, but during his innings a number of records fell. Carberry and Neil McKenzie set a new Hampshire record for their 3rd wicket in first-class cricket, setting a partnership of 523 runs to surpass the previous best set by George Brown and Phil Mead in 1927. The partnership with McKenzie was also the highest for any wicket for Hampshire, surpassing the 411 set by Robert Poore and Teddy Wynyard in 1899. Their partnership was the 11th time in first-class cricket that a partnership has passed 500 runs; it currently ranks 9th on the all time list.
On 7 August 2013 Carberry hit his first T20 century as he reached 100 (not out) against Lancashire in the 2013 Friends Life Quarter Final.
Carberry had represented England from U-15 level, he later made his debut for England U-19s against New Zealand U-19s in a Youth Test match in February 1999. He went on to play for England U-19s at the 2000 Under-19 World Cup in Sri Lanka. He played a total of 6 Youth Test matches and 12 Youth One Day Internationals.
His next international honours came after his move to Hampshire, which had revitalised what was a stuttering career. Following a good debut 2006 season for Hampshire, Carberry was selected for the England A tour to Bangladesh in 2007, in which he played 2 first-class matches against Bangladesh A. The tour also included 2 List A matches against the same opposition. Further matches for England A, by then renamed the England Lions, came in early 2008 when the Lions toured India. He played in 2 Duleep Trophy matches on the tour, making 91 in his first innings of the tour against Central Zone. He also played a single first-class match for the Lions against the touring New Zealanders on their 2008 tour of England, scoring 41 in the first innings, before being dismissed by Iain O'Brien, while in the second-innings he scored 100 not out.
In August 2009, he was once again called up to the England Lions team to play Australia in a two day match at the St Lawrence Ground, Canterbury. Carberry was called into the England Performance Squad for their tour to South Africa in late 2009. In his first game back since breaking his finger playing for Hampshire, Carberry made exactly 100 against Gauteng. Despite being a 4 day match, it was not rated as first-class. With the England team also touring South Africa at this time, Carberry was called up to the England squad as cover for Paul Collingwood, for the 3rd Test against South Africa. Carberry instead acted as 12th man in the 3rd and 4th Tests. He later played for the England Lions in the United Arab Emirates. He played a single List A match against Pakistan A at the DSC Cricket Stadium, in which he was dismissed for a duck by Abdur Rehman. On the same tour, he also played a Twenty20 match against England, scoring 8 runs before being dismissed by Ryan Sidebottom.
Carberry was retained in the England Test squad for the 2009–10 tour of Bangladesh, with England choosing to rest captain and opener Andrew Strauss, with fellow opener Alastair Cook taking over the captaincy. Carberry was selected for the opening Test at the Zohur Ahmed Chowdhury Stadium in Chittagong. He opened the batting with Cook, making 30 in the first-innings in an opening stand worth 72, before Carberry fell leg before to Mahmudullah. He made 34 in the second-innings, before being dismissed by Abdur Razzak, with England winning the match by 181 runs. He demonstrated his highly rated fielding by initiating the run out of Naeem Islam in the Bangladesh first-innings.
Carberry was called up in summer 2013 to the England squads for both the T20 and ODI series' against Australia. On 14 September he took his first catch – a one-handed catch to dismiss Mathew Wade – and soon after hit his maiden England fifty on his way to 63 in his fourth match.
It was announced on 23 September 2013 that Carberry would be part of the England touring squad for the 2013–14 Ashes series.
On 21 November 2013 he made his England Ashes debut in the first match in Brisbane. He opened the innings with skipper Cook on the second day, and top-scored with 40 runs in a generally composed innings. In the second Test, in Adelaide, Carberry scored 60, his maiden Test half-century. Even though the remainder of the tour was frustrating for Carberry, as he was unable to convert a number of good starts into significant scores, he did finish the Ashes series with the third highest English batting average, above the likes of Root, Bell and Cook.