Painter was born in Birmingham and brought up in the Chelmsley Wood area of Solihull, where he attended the Archbishop Grimshaw secondary school. He came through the Birmingham City Academy. Painter was handed a new one-year professional contract at the start of the 2005–06 season, and was involved with the first team during the club's pre-season tour of Norway. During a game against SK Brann, his tackle on Slovenian international, Fabijan Cipot, broke both bones of the player's lower leg. The tackle was described by Brann's manager as "a really bad tackle, a possible career-ender", though Birmingham manager Steve Bruce insisted it had not been deliberate. Painter received a yellow card and was immediately substituted. He made his competitive debut against Scunthorpe United in the League Cup in September 2005, and played his first game in the Premier League in the starting eleven as Birmingham beat Fulham 1–0 in December. He finished the season with nine appearances in all competitions.
Swansea City
At the beginning of the 2006–07 season, Painter played in one league and one cup game for Birmingham, then, in November 2006, he joined League One club Swansea City on a month's loan, to cover for the injured Tom Williams. The loan was extended to three months, and, after Birmingham manager Steve Bruce admitted that he could not guarantee Painter regular first-team football, the player moved permanently to Swansea on 31 January 2007, for an initial fee of £25,000 with a further £25,000 to be paid a year later. Swansea City would also pay an additional sum if promoted. He established himself as Swansea's first-choice left back, playing 31 league games as the club were promoted to the Championship, and was a regular selection at the higher level until, in October 2008, he sustained cruciate ligament damage in his right knee during a 3–0 win over Southampton. He did not feature for Swansea for the rest of the season.
Brighton & Hove Albion
Painter made only six appearances for Swansea in the first half of the 2009–10 season. In January 2010, he joined League One club Brighton & Hove Albion on loan until the end of the season, and then signed a two-year deal with the club to begin on 1 July when his Swansea contract expired. He scored his first career goal after 81 minutes of the League One match against Walsall on 28 August, which proved to be the winner. On 15 February 2013, Painter joined League One club AFC Bournemouth on loan for the remainder of the season. After playing twice in a month for Bournemouth, he was recalled by Albion because of an injury to first-choice left back Wayne Bridge. He played twice more for Albion in what remained of the season, and was released when his contract expired.
Portsmouth
On 15 August, Painter joined Portsmouth of League Two on a short-term contract.