Career
Ball joined the youth system at in 2007, battling back from a foot injury at the end of his teenager years. He was loaned out to League One club Swindon Town in July 2010 for six months, in order to gain first team experience and join the team in their pre-season tour of Austria. This came despite interest from other clubs.
He made his league debut on 7 August 2010 in a 2–1 home defeat to Brighton & Hove Albion, but was replaced by Alan O"Brien after sixty minutes for tactical reasons.
He signed a permanent deal for on 31 January 2011 for a transfer fee of £50,000. The first game of the 2011-2012 season was against Crystal Palace at home posh went behind but McCann scored to put them level and then David Ball scored to earn Posh three points.
On 31 August Ball joined Rochdale on loan until 1 January 2012. Peterborough recalled Ball after a month of his loan spell at Rochdale.
On 17 January 2012, Uwe Rosler admitted to declaring interest in a striker to boalster his strikers in an attempt to get more goals after Brentford had only scored 31 goals in 26 league games so far in the season.
The loan signing was cancelled and Ball appeared for Peterborough in their home match against Brighton on 21 January, scoring in the 72nd minute. On 23 July 2012, Ball signed for newly promoted League 2 side on a three-year deal. He struggled to find form under the management of Micky Mellon but began to perform more consistently after Mellon"s sacking, and the appointment of Graham Alexander.
In August 2015, Ball signed a new two-year contract with.
On 6 November 2015, Ball was nominated for the Fédération internationale de football association Puskas Award for his long range exquisite chip against Preston North End. League One play-offs (promotion to The Championship) –: 2010-2011 League Two play-offs (promotion to League One) –: 2013-2014.