Berry started his career at Crystal Palace in the youth and reserve teams, making his first team debut as a 78th minute substitute in a 3–0 victory over Walsall in the League Cupfirst round on 23 August 2005. He joined Notts County on one-month loan in September 2005, and later Rushden & Diamonds on 13 January 2006. On 31 January 2006, the last day of the transfer window, Berry signed for Rushden permanently on a contract until June 2007. In January 2007 he was told he could leave Rushden and was sent out on loan to Conference South team Lewes. He scored two goals on his debut and finished the loan with four appearances. He joined Crawley Town until the end of the 2006–07 season in February. Berry joined Stevenage Borough on 5 December 2007, making his debut after coming off the bench three days later during a home league match against Salisbury City. He was released at the end of the 2007–08 season. He signed for Gillingham on a month-long contract shortly before the start of the 2008–09 season. He made his debut away to Bournemouth on 9 August 2008, but the contract was not renewed, and he was released after just five appearances. He had a trial at Hereford United in October 2008, before signing for Grays Athletic on 23 January 2009 on non-contract terms. He signed for Conference Premier side York City on non-contract terms on 13 November. He was released on 28 December after failing to make any appearances. Berry signed for Forest Green Rovers on 31 December. He made his debut for Forest Green in the closing minutes of a 2–1 defeat to Notts County in the third round of the FA Cup in January 2010. He went on to make his league debut later that month in a 4–1 home defeat to Mansfield Town. He was released from his contract at Forest Green in February 2010 after making three appearances. He had a trial with Championship club Sheffield United in March, playing for the reserves in a 2–0 victory over Macclesfield Town. He trialled with Kettering Town in July 2010, playing in a pre-season friendly against Northampton Town. After a brief spell with Burgess Hill Town, Berry joined Hayes & Yeading United in January 2012. Just two months later however, Berry left Hayes & Yeading. In September 2012, Berry signed for Tooting & Mitcham United. In August 2013, he signed for Farnborough. After making 12 appearances, scoring two goals, Berry left the club in February 2014 and signed for Cray Wanderers. He began the 2014–15 season with Kingstonian, followed by another short spell with Cray. In July 2015 he joined Walton Casuals, Whyteleafe in February 2016 and Three Bridges in June 2017. He made his Three Bridges debut on 26 August, in a league game against Eastbourne Borough.