Upon recovering from a broken ankle suffered during a loan spell with Carluke Rovers,[3] McCulloch had an early experience of European football in the 1995–96 UEFA Cup[7] under manager Alex McLeish, and went on to score 27 goals in 147 appearances for the Steelmen after making his debut against Raith Rovers on 24 August 1996.
[9] After netting 12 and nine goals in consecutive seasons for Motherwell, along with some impressive performances, other clubs began to take notice of the young striker.
[10] Wigan at this point were plying their trade in the third tier of English football, but were strongly ambitious, and saw the young Scotsmen as part of their long-term plans.
McCulloch made his debut against Swindon Town on 3 March 2001[11] and scored his first goal for the club four weeks later, in a 2–1 win away to Wycombe Wanderers.
[14] In May 2007, McCulloch told BBC Sport that he would relish the opportunity to play for Rangers, and the new manager at Wigan Athletic Chris Hutchings advised him that he may leave to move back to Scotland.
[17] On 2 October 2007 in the 2007–08 UEFA Champions League, he scored the first goal, a header from a corner by DaMarcus Beasley in Rangers' 3–0 victory at the Stade de Gerland against Lyon.
McCulloch then went on to feature 27 times until it was revealed, after limping off against Hearts, he would require surgery to cure a cyst on his knee joint.
[21] McCulloch's versatility saw him play in attack, midfield and defence, and he hit a particularly good vein of form as a powerful striker as Rangers threadbare squad put together a decent run of results following the club's entry into administration.
The business and assets of Rangers, including player registrations, were purchased by a brand new company led by Charles Green.
He scored in extra time to give Rangers a 2–1 victory against Brechin City in the Scottish Challenge Cup on 29 July 2012.
McCulloch was given the captaincy on 1 September 2012 after the departure of Carlos Bocanegra to Racing Santander on a season-long loan[23] and on 31 October, he signed a contract extension with Rangers committing him until 2015.
McCulloch said after leaving Rangers that the 2014–15 season had been his worst in football, with the team failing to gain promotion and off-field issues affecting performances.
[29] He made one appearance in total that season, starting in a league match against Ross County, being replaced after forty-one minutes.
[36] McCulloch was recalled to the national team following the appointment of Craig Levein and he made his first appearance since 2008 in a qualifier against Lithuania in September 2010.
[40] McCulloch and Peter Leven were put in temporary charge of the first team in February 2017, when Clark left Kilmarnock to manage Bury.