Born in Cardiff, Cotterill began his career at Bristol City before signing for Premier League Wigan Athletic where he spent two seasons before switching to Sheffield United, initially on loan and then later on a permanent deal.
Cotterill started his career at Bristol City, making his debut as a substitute for Michael Bell during a 0–0 draw with Colchester United on 30 October 2004.
Seeking first team football to aid his international career, Cotterill joined Championship side Sheffield United on 8 February 2008 on a loan deal to last until the end of the 2007–08 season.
After the Blades failure to secure promotion, Cotterill once again found form and first team starts hard to come by in the following season and was largely used as a substitute by manager Kevin Blackwell.
[12] He made his debut in the away fixture against Newcastle United, coming on as a second-half substitute, and scored his first goal for Swansea in a 2–1 FA Cup third round defeat to Leicester City on 2 January 2010.
Cotterill started the season off well under new manager Brendan Rodgers, putting in some good performances and converting a penalty in a 4–0 win over Preston North End.
[17] During the 2011–12 season, as Swansea gained promotion to the Premier League, Cotterill's first-team appearances were limited and he was reportedly approached by Dutch team ADO Den Haag to sign for the club on loan.
He signed a two-year contract with Championship club Birmingham City,[27] and made his debut in the first-round League Cup win against Cambridge United on 12 August.
[28] After Callum Reilly won the ball in midfield and slid it out to the wing, Cotterill cut inside a defender and curled a 25-yard (23 m) shot into the far top corner.
[29] In the next match, away to Millwall, he set up goals for Clayton Donaldson and Wes Thomas as well as scoring himself with a swerving free kick from 25 yards.
[34] Although the knee recovered and he was expected to be available for the visit to Sheffield Wednesday on 26 December, manager Gary Rowett chose not to risk him because of tightness in his hamstring.
[35] Cotterill returned to the side for the FA Cup match on 9 January, came off at half-time with a tight hamstring,[36] and did not reappear for another five weeks, as a late substitute in the goalless draw at Rotherham United.
He made his debut on 12 October 2005 as a 73rd-minute substitute for goalscorer Ryan Giggs in a 2–0 home win over Azerbaijan in 2006 FIFA World Cup qualification.
[54] He was part of the Wales squad that reached the semi-finals of the tournament in France – their first major event since the 1958 FIFA World Cup – but did not play.
[69] In November 2020, Cotterill was being investigated by South Wales Police for allegedly cheating teammates out of money by convincing them to invest in property schemes.