Born and raised in England, Ritchie qualified to play for Scotland through his Scottish father. He made his senior international debut on 25 March 2015, in a friendly match against Northern Ireland.
Ritchie had been involved in Portsmouth's academy since he turned 13, previously playing football locally in Gosport, starting at the age of six. After signing his first professional contract with the club, and a positive 2008–09 pre-season campaign, including a hat-trick in a 4–1 victory over hometown club Gosport Borough, after the match, Ritchie said scoring a hat-trick was 'unreal'.
He went on loan to Swindon Town in 2010 but due to Portsmouth's mounting injury list, he was recalled in March and was named on the bench for their 2–0 Premier League loss at the hands of Tottenham Hotspur after making four appearances for Swindon. On 14 April, he made his League debut for Portsmouth in the game against Wigan Athletic. He played 79 minutes but was then substituted for Frédéric Piquionne. After the match, Ritchie admits making his Portsmouth debut was a dream come true. At the end of the season, with Portsmouth's relegation from the Premier League confirmed, he signed a new two-year deal.
For the 2010–11 season, Ritchie was handed the number 5 shirt and was selected in Portsmouth's starting XI for their first match of the season at Coventry City. However, he soon found himself out of the Portsmouth line-up and, with the club having disbanded its reserve team, manager Steve Cotterill agreed to loan out the player for fitness reasons.
Ritchie played reserve and academy football at Pompey until late September and continued to impress until he was taken on a one-month loan deal by League Two club Dagenham & Redbridge. He made his Football League debut against Rotherham United on 27 September 2008, coming on as a late substitute. Ritchie scored on his first competitive start for the Daggers in a 2–0 win over Rochdale. He scored again in his next match, a 2–0 win over Barnet.
Ritchie also made clear his wishes to extend the loan deal until the end of the season. Dagenham announced on 30 December that the player would remain with the club until the end of the current season. His impressive performances saw him rewarded with a new two-year deal at Portsmouth, and their Young Player of the Season Award.
On 28 July 2009, it was reported that Notts County, were in talks with Portsmouth over a six-figure fee for his services, believed to be £100,000. On 1 September 2009, Ritchie signed on loan until 31 December, although County wanted to extend his loan deal.
After Danny Wilson failed to secure Ritchie's services on a permanent deal during the transfer window, it was announced on 11 February 2010 that Swindon Town had signed the midfielder on loan for the remainder of the season. He made his debut on 23 February against Stockport County after coming on for Danny Ward after 25 minutes.
After making a brief appearance for Pompey on 4 October, Ritchie was loaned again to Swindon Town, on a one-month deal. Two weeks later the deal was extended to two months.
On 7 January 2011, Swindon Town signed Ritchie on a two-and-a-half year deal for an undisclosed fee. He added to his tally with goals against Bournemouth in a 3–2 loss, a 4–1 loss to Southampton, a 1–1 draw with Hartlepool United and a 2–1 loss against Notts County. Despite Swindon Town being relegated to League Two, Ritchie was named the Robins' Player of the Season.
Under manager Paolo Di Canio in League Two, he retained his first team place in the starting eleven and scoring form with ten goals that season. During the season, Ritchie was linked with League One clubs, with the likes of Bournemouth interested in signing the player. After Bournemouth's bid for him was rejected, manager Di Canio said that he was worth about £2 million. In March, he won the Football League Two Player of the Year for 2012. With teammate Paul Caddis he was named in the PFA League Two Team of the Year.
Ahead of a new season in League One, Swindon turned down a £900,000 offer from a League One club for Ritchie, insisting he would be sold for £2.5 million. Shortly afterwards he signed a new contract, keeping him at the club until 2014.
On 30 January 2013, Ritchie signed for Bournemouth on a three-and-a-half year deal for £400,000. After leaving Swindon Town, he said that he was surprised to leave the club and that he had left with a "heavy heart". However, Di Canio claimed that the club sold Ritchie behind his back.
He made his debut on 2 February in a 3–0 win over Milton Keynes Dons. Ritchie scored his first goal for his new team on 23 March in a 4–1 win over Bury. That win was the first of an eight match run of successive wins, including a brace for Ritchie in a 3–1 victory over Notts County, that culminated in clinching promotion to the Championship.
He was a key performer for Bournemouth during the 2014–15 season. His form helped the side to top the Championship and won him international recognition with Scotland. By April, he had scored 11 goals and provided 13 assists for his team. Ritchie's form saw him voted the Football League's best player in a poll by FourFourTwo magazine.
On 19 September 2015, he scored his first ever goal in the Premier League, coming on for Bournemouth in a 2–0 home win against Sunderland. On 25 October 2015, Ritchie scored his team's only goal of the game after just 1 minute, in Bournemouth's 5–1 drubbing by Tottenham.
On 1 July 2016, Ritchie signed a five-year contract with newly relegated Newcastle United, becoming the third signing under manager Rafael Benítez.
During his first season on Tyneside, Ritchie became the team's penalty taker after Dwight Gayle saw his penalty against Huddersfield Town saved by Danny Ward despite the former Crystal Palace striker heading in the rebound. Ritchie converted from twelve yards in the next game against Reading on 17 August 2016. The Scottish international also denied Aleksandar Mitrovic (who was Newcastle's main penalty taker in the 2015-16 season but missed the first four games of the season through suspension) the chance to score a penalty in the EFL Cup fourth round tie against Preston North End and buried it himself. He also scored penalties against Birmingham City in the FA Cup and Huddersfield Town and Preston North End in the Championship but although he also scored one against Burton Albion, it was controversially ruled out due to encroachment but referee Keith Stroud gave a free kick to the visitors instead of making Ritchie retake the penalty but he scored the only goal of the game.
Ritchie's season was ended by suspension, when he argued with a match official after a home draw with Leeds United. Ritchie scored sixteen goals in all competitions, with only Gayle having netted more than the Scotsman.
Under FIFA eligibility rules, Ritchie was eligible for the national teams of England, where he was born and raised, and Scotland, his father's native land. On 16 March 2015, he was called up to the Scotland national football team for a friendly against Northern Ireland and a UEFA Euro 2016 qualifier against Gibraltar. Ritchie made his debut against Northern Ireland on 25 March at Hampden Park, and took the 85th-minute corner which set up Christophe Berra's header for the only goal of the game. On 5 June he scored his first international goal, a 20-yard strike which was the only goal of a friendly victory over Qatar at Easter Road in Edinburgh. His second goal came in a European Championship qualifier against Poland at Hampden Park on 8 October 2015, for which he won "Goal of the Year" award from the Scottish FA.As of 5 March 2017
Football League Two (1): 2011–12
Football League Championship (1): 2014–15
EFL Championship (1): 2016–17
League Two Player of the Year (1): 2011–12
League One Player of the Year (1): 2012–13
PFA League Two Team of the Year (1): 2011–12