As a player, he was a defender and midfielder from 1992 to 2012 and represented Nottingham Forest, Burnley, Bristol Rovers, Gillingham, Watford, Huddersfield Town, Sheffield Wednesday, Grimsby Town, Bradford City, Cheltenham Town, Burton Albion, Kidderminster Harriers, Mansfield Town, Forest Green Rovers, Boston United and Hucknall Town. In 2011, he briefly held the position of player-manager of Eastwood Town and later had a spell as manager of Quorn.
Born in South Shields, Armstrong started his career at Nottingham Forest in graduating from their youth system in 1992. Lack of first team action meant in December 1994 he moved on loan to Burnley. He made his debut for the Lancashire club in the 5–1 win over Southend United on 31 December 1994, playing in place of the injured Chris Vinnicombe. Armstrong appeared in three more league matches for Burnley before being recalled by Forest. In January 1996, he joined Bristol Rovers on another loan deal, again making four appearances. However, he was recalled a month later to play a further nine matches at Twerton Park. In October 1996, Armstrong was loaned to Gillingham for whom he played 13 matches as a defensive midfielder. In January 1997, he was loaned to Watford for a month, but his loan deal was cut short through injury. However, he was recalled for a further month in March 1997, with a view to a transfer. However, no move came to fruition. Armstrong scored twice during his spell at Forest with both goals coming in the League Cup in games against Walsall and Cambridge United.
Armstrong left Forest in 1999 when Huddersfield Town agreed a £750,000 transfer. He played 112 matches at Huddersfield and in 2001 he won the Hargreaves Memorial Trophy (Huddersfield Player of The Year Award).
He then left Huddersfield, moving to First Division club Sheffield Wednesday for £100,000. He played 29 times (scoring once against Rotherham United) before moving on loan to Grimsby Town in a bid to regain match fitness after suffering an injury. During his spell at Grimsby he scored once against Barnsley. When his contract expired at Sheffield Wednesday, Armstrong found himself without a club.
A year later when he signed a short term contract at Bradford City, where he played only seven games.
In July 2005, he signed for Cheltenham Town, for whom he played 76 times, helping the club gain promotion against former club Grimsby. Although he arrived at the club as a midfielder, he made the majority of his appearances at left-back due to Jamie Victory's long-term injury problems. He also operated effectively in the centre of midfield on occasions and was comfortable at centre half. Armstrong's Cheltenham contract ran out at end of the 2006–07 season.
In June 2007 he rejoined Gillingham on a two-year contract. He made his debut on the first day of the season against Cheltenham, but Gillingham lost 1–0. He scored his first and what turned out to be only goal for Gillingham against Dagenham & Redbridge in the Football League Trophy on 13 November 2007. On 31 January 2008, he was released from his contract.
On 4 February 2008 he rejoined Cheltenham Town until the end of the season. In November 2008, Armstrong joined Burton Albion on loan until January 2009. He scored his first goal on his full debut in a 2–0 win against Eastbourne Borough. Following his return from Burton, Armstrong and Cheltenham parted company by mutual consent.
Later the same month, he signed with Conference side, Kidderminster Harriers and remained with the club until the end of the 2008/2009 season.
Armstrong signed for Mansfield Town for the 2009/10 season. He was loaned out to fellow Conference side Forest Green Rovers in February 2010. Armstrong made his Forest Green debut on 6 March 2010 in a 2–1 home victory over York City. Armstrong went on to make 13 appearances for Forest Green but was unable to help his loan club avoid relegation. Forest Green were however later reprieved and returned to the Conference.
In June 2010, Armstrong signed for Forest Green permanently following his release by Mansfield. As well as signing as a player Armstrong spent the first few months undertaking a coaching role. However, he reverted to being a player when Gary Seward was appointed as assistant manager at the club.
Armstrong revealed on his Twitter page following Forest Green Rovers final home league game of the season, a 0–0 draw with Wimbledon, that he would not be offered a new contract with the club at the end of the season. He was released following Rovers final day loss against Tamworth.
In September 2011 Armstrong returned to a playing career with Conference North side Boston United. Armstrong made his debut against Altrincham in a league game on 8 October 2011 and also featured against Histon and Workington in his month with the Pilgrims.
In October 2011, Armstrong signed for Hucknall Town as a player-coach, linking up with manager Des Lyttle. Armstrong left Hucknall because of a budget cut at the club in March 2012.
Having learnt from some of the best managers in the business on 26 May 2011, Armstrong was appointed as joint manager of Eastwood Town alongside Jamie Brough. The season started well with victories against Solihull Moors and Gloucester City. However defeats against Corby Town and Stalybridge Celtic caused friction and after just eight games in charge Armstrong quit as Eastwood boss in September 2011.
After leaving his post as player-coach at Hucknall Town, Armstrong became manager of Quorn in late March 2012.
He currently works as an elite development coach at Nottingham Forest.