Gillingham In September 2000, Crofts joined
Gillingham as a trainee and was a regular in the club's
youth and
reserve teams during the
2000–01 season. At the end of the season, shortly before his 17th birthday, he was a surprise inclusion in the
first team squad for a match at home to
Watford, The following season, he suffered a broken leg during a reserve team match and missed several months of the season. Although he returned to action in early 2002, his next appearance for the first team did not come until October, when he came on as a substitute in a
League Cup match against
Stockport County. This was to be his only senior appearance of the
2002–03 season. He finally secured a regular first team place towards the end of the following season, featuring regularly during March and April 2004. Crofts was a first team regular in the
2004–05 season, making 27 Football League appearances, and scoring his first senior goal for the club in a defeat to
Brighton & Hove Albion on 26 December. In January 2005, he signed a new contract designed to keep him at the club until 2009. He was omitted from the team for most of March and April, but was recalled for the last match of the season, in which a draw with
Nottingham Forest led to the "Gills" being
relegated from the
Football League Championship, the second tier of English football, to
Football League One, the third tier. In the
2005–06 season, he made the most appearances of any player in the Gillingham squad, missing only one of the team's 46 matches in League One. The following season, he again made over 40 appearances and also scored eight goals, his best total for an individual season, but Gillingham again finished the season in the bottom half of the table. He made his 100th start for the club on 18 December 2006 in a match against
AFC Bournemouth, and marked the occasion with a goal. At the end of the season, he won four awards at the club's Player of the Year event and was dubbed
Mr Gillingham by then-manager
Ronnie Jepson. He took over as team
captain in the
2007–08 season, but it was an unsuccessful season for the team, who were relegated from League One. The following October he was stripped of the captaincy, which was instead given to
Barry Fuller. Manager
Mark Stimson stated that he felt that the captaincy might have been too much of a burden for Crofts, and had a negative effect on his form. Soon afterwards, the club made Crofts available for
transfer.
Peterborough United and Wrexham (loans) In November 2008, he joined
Peterborough United on loan. Shortly after returning to Gillingham the following January, he went on a second loan period, this time to
Wrexham until the end of the season. He made his debut on the same day in a 2–1 defeat to
Burton Albion. Upon his return to Gillingham from his loan spell, he was released from his contract.
Brighton & Hove Albion On 29 June 2009, Crofts agreed to join
League One club
Brighton & Hove Albion on a two-year contract. He made his debut for Brighton during the 1–0 home defeat to
Walsall on 8 August 2009 and scored his first goal for Brighton during the 2–2 draw at
Yeovil Town on 10 October 2009. Crofts was given the role of
captain by new manager
Gus Poyet before the 3–1 away victory at
Southampton. Crofts was later confirmed as permanent captain at the beginning of January 2010.
Norwich City On 21 May 2010,
Norwich City announced the acquisition of Crofts from Brighton, for an undisclosed fee, believed to be in the region of £300,000. He became the club's first signing of the summer transfer window, signing a three-year deal at
Carrow Road. On 6 August 2010, he scored a goal on his debut against
Watford. He subsequently gained promotion to the
Premier League with the "Canaries" in his first season at the club. He initially kept his place as a regular starter for Norwich in the top tier, but in the second half of the 2011–12 season he gradually fell out of favour at the club.
Return to Brighton & Hove Albion Crofts was transferred back to Brighton for an undisclosed fee in August 2012.
Loan return to Gillingham On 19 March 2016, Crofts re-joined
Gillingham on loan until the end of the season.
Charlton Athletic On 22 July 2016, Crofts signed a one-year contract with
Charlton Athletic. He scored his first goal for Charlton in a 1–1 draw with
Southend United on 31 December 2016. On 1 September 2017, the club announced that he had ended his contract by mutual agreement.
Scunthorpe United Crofts signed for Scunthorpe United on 31 August 2017, signing a one-year contract with the
North Lincolnshire-based club. On 18 May 2018, he was not offered a new contract,
Newport County On 26 June 2018 Crofts signed for
Newport County on a one-year contract. He made his Newport debut in a 3–0 defeat at
Mansfield Town on 4 August. Crofts was a 90th minute substitute for Newport in the
League Two playoff final at
Wembley Stadium on 25 May 2019. He was released by Newport at the end of the 2018–19 season.
Yeovil Town and second return to Brighton & Hove Albion In June 2019 Crofts joined
Yeovil Town as a player-coach. On 27 July 2019, however, he left the club to rejoin
Brighton & Hove Albion as a player-coach with the club's
under-23 side. He played for
Brighton U21s in the 2–0 away win over
AFC Wimbledon in the
EFL Trophy on 3 September 2019. ==International career==