During his youth career, Bellshill-born McPake played for Holytown Colts, Celtic South BC, Coatbridge Amateurs and Livingston pro youth. He began his professional career when he signed for then Scottish First Division team Livingston in August 2000 as a youth academy player. He did not make his debut for the club until almost four years later in April 2004, when Livingston were playing in the SPL. He agreed a new two-year contract with Livingston in 2005.
In January 2006, Scottish Second Division side Greenock Morton signed McPake on loan, after he had rejected proposed loan moves to Gretna and Partick Thistle. McPake made his debut for Morton against Gretna on 14 January and went on to make 10 appearances for the club, scoring two goals in the process. His two goals were both scored in the same game, against Alloa Athletic.
In October 2006, the Scottish media reported that McPake would be moving to English Football League Championship club Plymouth Argyle. It was confirmed that he was due to go to Plymouth for a week-long trial, but Livingston later changed their minds and the trial never materialized. In July 2007, two months after the appointment of manager Mark Proctor, McPake was appointed club captain. Scottish Premier League outfit St Mirren had a bid for McPake rejected by Livingston.
McPake signed a pre-contract in December 2008 to join Coventry City on a three-and-a-half-year deal in the summer of 2009, but Coventry and Livingston agreed a fee on 2 February 2009 to complete the transfer immediately. He scored his first goal for the club against Leicester City on 21 March 2010. He suffered a back injury that required surgery in May 2011. McPake signed a one-year contract extension with Coventry City in August 2011 extending his contract to July 2013.
McPake signed for Hibernian on an initial six-month loan deal from Coventry City on 23 January 2012. He made his debut for the club the following Saturday, and was sent off in a 4–0 defeat to Rangers. McPake was made team captain on his first appearance. He led the team to safety from relegation, and former Hibs defender Craig Paterson expressed his hope that McPake would sign a longer deal with Hibs. McPake scored Hibs' only goal in the 2012 Scottish Cup Final, a 5–1 defeat to Hearts, this was his first goal for the club.
McPake signed a two-year contract with Hibs on 30 June 2012. On 3 January 2013, McPake suffered a bad tackle by Ryan Stevenson in an Edinburgh derby game. Stevenson was suspended for two matches. McPake had injury problems during 2013 that caused him to miss the 2013 Scottish Cup Final, which Pat Fenlon described as a "big blow". After missing out on the Scottish Cup Final, McPake also denied rumours that he had an operation on his back. McPake also played down talk that he would be forced into retirement because of his back injury and criticised internet trolls over this taunt. McPake's first team opportunities were limited during the 2013–14 season and after Hibs were relegated to the Scottish Championship, he was released by the club in May 2014. McPake said that he had been fit for ten weeks and was disappointed he didn't have the chance to help Hibs avoid relegation.
After being released by Hibernian, McPake was linked with newly promoted Scottish Premiership club Dundee, but this was denied by the Manager Paul Hartley. However, McPake signed for the club in May 2014. On 30 January 2015, he signed a contract extension, keeping him at the club until the summer of 2017.
On 2 January 2016, whilst playing in a Dundee derby, McPake suffered a serious knee injury which would end his season. McPake was appointed club captain for the 2016–2017 season, but suffered another setback on his injury, keeping him out until January 2017.
McPake was selected in May 2012 by Northern Ireland, who he qualifies to play for through a grandparent born in Coleraine. McPake made his international debut in a 6–0 defeat by Netherlands on 2 June 2012.As of 31 July 2017