Berry was originally drafted by the Atlanta Braves in the 25th round of the 2003 Major League Baseball Draft out of high school, but did not sign. He was drafted three years later in the fifth round of the 2006 Major League Baseball Draft by the Philadelphia Phillies, with whom he signed within 48 hours. Berry played in the Phillies minor league system for 4½ seasons before being designated for assignment on July 12, 2010.
He was claimed on waivers by the San Diego Padres two days later and spent the remainder of the 2010 season playing for the Double-A San Antonio Missions.
On December 10, 2010, Berry was claimed by the New York Mets from the Padres in the minor league phase of the Rule 5 draft. The Mets released Berry during spring training in 2011.
On April 21, 2011 Berry signed a minor league contract with the Cincinnati Reds. He spent a majority of the season playing for the Carolina Mudcats in the Double-A Southern League. He made his Triple-A debut that same year, appearing in four games with the Louisville Bats.
Detroit Tigers
On November 9, 2011 Berry signed a minor league contract with the Detroit Tigers. He was assigned to the Triple-A Toledo Mud Hens following spring training in 2012. Berry's contract was purchased by the Tigers on May 23, 2012, and he was added to the 25-man roster. He made his debut the same day, replacing an injured Austin Jackson in centerfield and batting leadoff. His first MLB hit came in the form of a rare buntdouble. Berry became the first Detroit Tigers player since 1918 to hit safely in his first six games as a Tiger. On June 17, 2012, Berry became just the third Tigers rookie to have five hits in a game since 1999. Seven days later, on June 24, 2012, he hit his first big-league home run in a 3–2 win over the Pittsburgh Pirates. Berry was added to the Tigers postseason roster following the conclusion of the 2012 regular season. Berry was named the 2012 Detroit Tigers Rookie of the Year by the Detroit Sports Broadcasters Association. He led the major leagues in stolen base percentage with a 100% success rate, and he also finished 10th in the American League in triples, with six. The 21 stolen bases set an American League record for most stolen bases in a season without a single caught stealing, surpassing the previous record of 20 set by Paul Molitor in 1994. Berry participated in the 2012 World Series, which pitted the Tigers against the San Francisco Giants. He played in all four games and was hitless in eight at-bats, drawing a single base on balls as the Giants swept the Tigers. Before the 2013 season, Berry entered spring training in competition for a spot on the Tigers 25-man roster. On March 27, he was optioned to the Toledo Mud Hens, the Tigers Triple-A minor league affiliate. Berry hit.323 with seven RBIs, three walks and six strikeouts in Grapefruit League play, but had also missed some time due to patellar tendinitis. Berry began the 2013 season playing for the Toledo Mud Hens. However, Berry was designated for assignment when Detroit traded for Francisco Martínez to make room for Martínez on the 40 man roster. Berry was designated for assignment on June 2, 2013.
On June 4, the Kansas City Royals claimed Berry off waivers and assigned him to their Triple-A minor league affiliate the Omaha Storm Chasers.
Boston Red Sox
On August 27, 2013, Berry was traded to the Boston Red Sox for Clayton Mortensen. He appeared in only 13 regular season games for the Red Sox, but hit.625 with a home run, 4 runs batted in and 3 stolen bases, earning him a postseason roster spot for his base-stealing abilities. Berry did not have a plate appearance in the 2013 postseason, but made three pinch-running appearances and went 3 for 3 in stolen base attempts, earning his first career World Series ring when the Red Sox defeated the St. Louis Cardinals for the title. The Red Sox released Berry on December 23, 2013.
Baltimore Orioles
Berry signed a minor league deal with the Baltimore Orioles on January 3, 2014. On June 12, 2014, while playing for the Norfolk Tides, he was ejected by an umpire after hitting a single. Berry proceeded to run the bases, slide into home, and then yell profanities at the umpires. The video of this bizarre incident was played on several sports television shows, including Keith Olbermann's.
Second Stint With Red Sox
On January 18, 2015, Berry once again signed a minor league deal with the Red Sox. He opted out of his contract and was released by the Red Sox on August 21, 2015.
Chicago Cubs
Berry signed a minor league deal with the Chicago Cubs on August 25, 2015.
Berry signed a minor league contract with the Toronto Blue Jays on September 1, 2016, and was assigned to the Triple-A Buffalo Bisons. Berry was released by the Bisons on September 7.
On August 17, 2017, Berry signed a minor league deal with the Milwaukee Brewers. His contract was selected by the Brewers on September 5. He was outrighted to AAA and elected free agency on November 2, 2017. He re-signed with the Brewers on another minor league deal in February 2018. He spent the majority of the season with the Triple-A Colorado Springs Sky Sox, posting a.214 average over 42 games played, before he was released on August 23, 2018.