He started his career at Bury as a trainee in August 1999, playing 33 games and scoring 1 goal before joining Oldham Athletic for £200,000 in October 2001, in only his second season as a first-team player. After playing a further 75 games and scoring his second goal, he was signed by Sheffield United for £100,000 in July 2003 during a financial crisis at Oldham.
Sheffield United
Having signed for the Blades in the summer Armstrong made his debut in the first game of the 2003–04 season, a 0–0 draw with Gillingham at Bramall Lane. He scored his first goal for the club in a 2–0 victory over Crewe on 4 November 2003 only to suffer serious injury a few weeks later. He eventually returned to regular first team football after battling back bravely from career-threatening knee injury problems that limited him to just 13 games in his first season with the Blades and ruled him out for the whole of 2004–05. After a brief spell at Blackpool to improve his match fitness earlier in the season, Armstrong became a valuable member of the team that gained promotion back to the Premiership in 2005–06. He was rewarded with the fan's Player of the Month award for March, the Capital One Young Player of the Year and, in July 2006, a new three-year contract. Armstrong was a regular starter over the next two seasons but was often asked to fill in across the field, playing both in the centre and out wide in midfield and defence. He succumbed to several injuries which kept him sidelined through this period and missed much of the second half of the 2007–2008 season due to a groin injury. Following his return to fitness he found himself unable to break back into the starting eleven under new manager Kevin Blackwell.
With his first team options limited at Bramall Lane he was allowed to leave and signed for Reading in August 2008 for an initial fee of £500,000 with the potential for it to rise to £800,000 depending on conditions. Armstrong made his debut for the Royals in the 4–2 home win over Crystal Palace on 30 August 2008. Since then, he has become a first team regular and scored his first league goal for Reading against Watford on 9 January 2009. He was voted Player of the Season for the 2008/09 season with 80% of the votes.
Although born in Newcastle, Armstrong qualifies for Scotland through his grandmother. And despite appearing for England's under-20 side in the 2002 Toulon Tournament, FIFA allowed him to represent Scotland. Armstrong received an international cap for Scotland B, after being included in the starting eleven in a 1–1 draw, against the Republic of Ireland B team, at the Excelsior Stadium on 20 November 2007.
Retirement
Armstrong announced his retirement from the professional game on 8 March 2011 and revealed that he had been diagnosed with multiple sclerosis in December 2009.