Ball was born in Liverpool, Merseyside. As a schoolboy he was part of the Liverpool youth system, playing alongside Michael Owen and Steven Gerrard. From 1994 to 1996 he attended The Football Association's National School at Lilleshall, before joining Everton. He played his first senior match in April 1997 as a substitute against Tottenham Hotspur, and made his first start a week later at West Ham United. Ball developed into an impressive player equally adept at both centre back and his main position, left back. His solid performances for Everton led to an England national team call-up to Sven-Göran Eriksson's first England squad for a friendly against Spain in February 2001. Ball was named as a substitute, and made his debut when he replaced Chris Powell at half-time.
Rangers (2001–2005)
In 2001, he was allowed to leave Everton, primarily due to the club's financial problems. Although he had offers from Premier League clubs, he opted for a lucrative deal with Scottish Premier League club Rangers and moved to Glasgow in a £6.5 million deal. His first Old Firm match ended in controversy when he swore at Rangers manager Dick Advocaat after being substituted, resulting in a £10,000 fine. He scored his first Rangers goal in the UEFA Cup against Dynamo Moscow. In December 2001, after his eleventh Rangers appearance, he suffered medial ligament damage which kept him sidelined for 18 months, including the entire 2002–03 season. Upon his return to fitness he regained his place in the team, becoming a first-team regular in the 2003–04 season, scoring his first league goal against Dundee. He also won the Player of the Month award in his first month back. Ball's transfer to Rangers included instalments payable after fixed numbers of appearances. As Ball approached 60 appearances Rangers became reluctant to play him, as doing so would trigger a £500,000 payment to Everton. As a result, Ball played only four matches in the first four months of the 2004–05 season. The scenario was eventually resolved in December 2004 when negotiations involving the player and the two clubs reached an undisclosed agreement. With the contractual wrangling resolved, Ball returned to the first team, and won a Scottish League Cup medal and an SPL medal as Rangers won the 2004–05 title.
PSV Eindhoven (2005–2007)
In the 2005 close season, Rangers wished to remove the higher earners from their wage bill, so Ball moved to Dutch Eredivisie club PSV Eindhoven for a fee of £500,000, signing a two-year contract. Ball struggled with injury and fitness issues during his time in the Netherlands. However, he went on to win the Eredivisie title and also reached the final of the KNVB Cup in 2006, losing 1–0 to Ajax in Rotterdam.
Manchester City (2007–2009)
He joined Manchester City on 31 January 2007 after impressing on a week-long trial, on a six-month contract for a nominal fee. He made his debut ten days later against Portsmouth, and scored his first goal for the club in an FA Cup Fifth Round match against Preston North End on 18 February. He was often used as third-choice captain, when either Richard Dunne or Micah Richards were unavailable. On 5 May 2007, in a 1–0 home defeat to Manchester United, he stamped on Cristiano Ronaldo's stomach. This was missed by the referee, and he was subsequently banned for three matches. On 24 August 2008, Ball was given the captain's armband in the 46th minute after stand in captain Richards was knocked out in a challenge with a teammate and substituted during a game against West Ham United. City went on to score three goals and win the game 3–0. At the end of January 2009 Ball had a knee operation on his left patella tendon, which kept him out of action for nine months. On 1 July 2009, he was released by Manchester City as his contract expired.
Free agent
In January 2010, Ball was reported to be training with Wigan Athletic and to be regaining match fitness. However, no contract was reported as having been offered. Subsequently, in September 2010 Ball was reported as training with Blackpool, but again no contract resulted.
Leicester City (2011–2012)
Ball was on trial with Leicester City in July 2011, travelling on their pre-season tour of Sweden and Austria. He signed a one-year contract on 8 August 2011, after featuring in six pre-season friendlies. Ball made his competitive debut in a 4–1 win over Rotherham in the League Cup first round on 9 August 2011. Ball made three appearances for Leicester, all in the League Cup, and left the club on 24 January 2012 after his contract was terminated.
International career
In February 2001, he made his only appearance for England in a friendly against Spain, coming on as a half-time substitute for Chris Powell.