He was a member of the youth team at Shrewsbury Town, and then Manchester City, before moving on to Oxford United in August 2004. He made his league debut on 30 August 2004 in a 1–0 win at Notts County. He signed a contract extension in February 2005. He went on to score 8 goals in 29 appearances for the first team during the season and came close to signing for Premiership side Charlton Athletic in June 2005.
He moved to Hellas Verona of Serie B in January 2006 for a fee of £85,000. He hoped the move would improve his international prospects.
He signed a five-year contract, but managed only one appearance for the Italian club.
"Family and friends are the main things I am missing, and my old daily routine. Some days I am fine and I will not think about it, but other times it plays on my mind. Earlier this week I really felt like I wanted to see my family, so I am still a bit homesick I suppose."
—Early signs of Davies dissatisfaction in Italy.
In July 2006 he had a trial at Northampton Town. He moved back to England in August 2006 on loan at Championship side Wolverhampton Wanderers, claiming he wanted out of Italy as he was too young to adapt to the change in culture. He was a regular choice throughout the first half of the 2006–07 season, but found himself largely unused after the January transfer window saw Wolves sign striker Andy Keogh. He never managed a league goal for the club in 23 games, but did score twice in the FA Cup, ironically against the club he would join permanently, Oldham Athletic, once in the original tie and again in the replay.
After Wolves opted not to make his loan a permanent move, he signed for League One side Oldham Athletic in June 2007 for an undisclosed fee. He marked his debut against Swansea City by scoring a last minute winner, and immediately became a first choice player. In August 2008 he signed a contract extension to keep him at Oldham until summer 2010. Three months later, Davies was loaned to Oldham's League One rivals Stockport County to regain form after a poor start to the season, failing to score in ten appearances. He made 13 appearances for Stockport, scoring 6 goals, including a hat trick over Bristol Rovers. County showed interest in signing him permanently.
In January 2009, Davies agreed a transfer to League One side Brighton & Hove Albion for an undisclosed fee (believed to be £150,000), joining the club on 2 February. On 10 February, Davies made his debut and scored his first goal for the club in a 4–2 loss to Peterborough, scoring in the 27th minute for the first goal of the game. On 25 September 2009, Davies joined Yeovil Town on loan, initially for one-month. He made his debut for Yeovil on 26 September in a 2–0 home win against Brentford.
On 15 January 2010, Davies joined League Two side Port Vale on an initial one-month loan deal, rejoining his former manager Micky Adams. He hoped this loan move could reignite his career at the Withdean Stadium, and end his eleven month goal drought. He quickly earned the praise of teammate Marc Richards, who said: "Craig is big, tall and strong, which is everything a good striker would want, and he can score goals as well". Assistant manager Geoff Horsfield said Davies' signing was "fantastic for the club".
"He's a big, strong boy who is also quick. He is different to what we've got and he'll certainly cause defences some problems."
— Manager Micky Adams' assessment of Davies.
He made a highly impressive start during his first two appearances, and ended his year long goal draught in his fourth. His loan deal was then quickly extended until the end of the season. He finished the campaign with seven goals in 24 games for the Vale.
On 6 July 2010, Davies had his Brighton contract cancelled by mutual consent. Later that same day, Davies signed a one-year contract with League Two side Chesterfield. He made history when in a 5–4 pre-season friendly defeat to Derby County he became the first player to score at Chesterfield's new B2net Stadium. A similar, more dubious honour came on 7 August 2010, when in a 2–1 win over Barnet he became the first player to be sent off at the stadium – also his competitive debut for the club. His eleven goals in his opening thirteen league games helped to propel his side to the top of the league, and he was made the division's Player of the Month for October after scoring five goals in six games. He again won the same honour for the month of March, tallying up six goals in six games. Chesterfield ended the season as league champions, thereby winning promotion to League One. Davies finished with 23 league goals to his name, putting him joint fourth (with Adam le Fondre) in the division's scoring charts - five goals above striker partner Jack Lester, but five goals behind Crewe Alexandra's Clayton Donaldson. He was also named in the PFA Team of the Year, along with teammates Danny Whitaker and Tommy Lee.
His highly successful season with Chesterfield earned him attention from numerous Championship clubs, including Reading. However it was Barnsley manager Keith Hill who was able to tempt the young striker, who signed a contract with the club in July 2011. It took until his ninth appearance for Davies find his first goal for the club, when he struck from 12 yards out in a 2–1 defeat to Bristol City at Oakwell. This was the first of a streak of eight goals in eight games, during which he scored twice against Doncaster Rovers and Ipswich Town. He finished the 2011–12 campaign with 11 goals in 42 appearances.
On 22 September, Davies scored four goals in the space of 19 second-half minutes in a 5–0 demolition of Birmingham City at St Andrew's. On 17 November, he marked his return from almost a month out with a hamstring problem with the equalizing goal in a 1–1 draw with Bolton Wanderers at The Reebok. He totalled nine goals for the "Tykes" in 22 appearances in the first half of the 2012–13 campaign.
In January 2013, Bolton Wanderers made a successful £300,000 transfer bid for Davies, and began negotiating personal terms. He agreed to a two-and-a-half-year deal, and became Dougie Freedman's first permanent signing as the "Trotters" manager. He made his debut for Bolton on 19 January, as a late substitute for Darren Pratley in a goalless draw with Crystal Palace at Selhurst Park. He scored his first goal for Bolton on 9 February in a 2–1 win over Burnley at the Reebok Stadium, and followed this up with the equalising goal for Bolton in a 1–1 draw with Nottingham Forest at the City Ground just a week later. He was sent off after receiving two yellow cards in a 3–2 defeat to Charlton Athletic at The Valley on 30 March.
He played ten games without scoring a goal as he struggled with injuries during the first half of the 2013–14 season. On 31 January 2014, Davies joined Preston North End on loan for the rest of the season. He marked his debut at Deepdale the following day with the opening goal of a 2–0 with over Notts County.
Is his career at Bolton now over or will he be a key part of our team next season?