Wilson came through the youth team ranks at Rangers and captained the under-19 team. He was tipped early on to have a big future at Ibrox (being compared to Alan Hansen), even drawing interest from other clubs before he had made his professional debut.[2] Wilson had been an unused substitute on several occasions during the latter part of the 2008–09 season, including the 2009 Scottish Cup Final against Falkirk.[3]

He made his professional debut for Rangers against Dundee in the League Cup, playing the full 90 minutes of a 3–1 win in October 2009.[4][5] Just over a week later, he became the youngest Rangers player to play in the UEFA Champions League by starting a 1–1 draw against Unirea Urziceni, aged just 700117000000000000017 years, 7002312000000000000312 days. After the match, Wilson described making his debut as "unbelievable".[6] While veteran captain David Weir commented on Wilson, reminding himself as a seventeen years old version of himself.[7] Having made three appearance so far, Wilson says he doesn't expect to have more starts, once Majid Bougherra made his return.[8] Weir then revealed that both Weir and Saša Papac helped him to handle his step up to the first team.[9] Wilson scored his first goal for Rangers in a 4–1 away victory against Hearts at Tynecastle on 27 March 2010.[10] In mid-March, Wilson is close of signing a new contract, according to Manager Walter Smith.[11]

After a promising debut season, Wilson was awarded both the Scottish FWA Young Player of the Year award and the Scottish PFA Young Player of the Year award.[12] He was also voted as Rangers Young Player of the Year by the clubs supporters.[13] Upon receiving the awards, Wilson says winning the double in his first season with Rangers is something special.[14] In all for Rangers, he played 26 times and scored once. He was sent off in the 2010 League Cup Final against St Mirren.[15] After the match, Wilson says his sending off was his first and was gutted, in addition, he felt receiving a red card let the team down.[16]

While in process of signing a contract, Wilson was linked with Premier League side Aston Villa and Liverpool.[17] On 27 April 2010, Wilson negotiations for a new contract has been broken down.[18]

On 21 July 2010, Wilson joined Liverpool and signed a three-year deal for an initial transfer fee of £2 million, potentially rising to £5 million based on appearances.[19] Two months later, on 22 September 2010, Wilson move would have led Liverpool to give Rangers £300,000 for making his first competitive appearance for the club.[20] He appeared regularly for the reserves in the early part of the season, scoring his first goal for the second-string on 20 October 2010, in a 3–3 draw with Blackburn Rovers at Prenton Park.[21]

In the 2011–12 season, Wilson wanted to leave Liverpool by going out loan, in order to get a first team football.[29] Interested, Rangers are among them to make a return to sign Wilson.[30] Wilson made his first appearance against his ex side Rangers in a 1–0 friendly defeat on 18 October 2011.[31]

Upon joining Hearts, Wilson says he doesn't have any regrets about joining Liverpool and insist it made him a better player.[32]

On 31 December 2011 it was confirmed that Wilson would join Blackpool on loan until the end of the season once the transfer window was declared opened the following day. He made his debut in Blackpool 2–1 win against Crystal Palace.[33]

On 22 November 2012, he was loaned to Championship side Bristol City.[34] He was given the number 40 shirt. He made his City debut two days later in a 3–1 win at Middlesbrough.[citation needed]

He then played in the Scottish League Cup for the first time in three years when Hearts face Inverness Caledonian Thistle, which Hearts win in a penalty-shootout after a tie 1–1 in the regular time and kept after extra-time. The win will put Hearts in the final.[38] However, there was controversy over his appearance when he last play in Scottish League Cup, resulted him a red card three years ago.[39] The Scottish FA solve the problem that Wilson was indeed eligible, stating Wilson served his ban at the beginning of season 2010/11 and FA does not operate competition-specific disciplinary procedures.[40] In the final against St. Mirren, Wilson was started in the match, partnering a central defender with captain Andy Webster. The match ended with St. Mirren winning 3–2 against them, having gained revenge on him for three years ago.[41] Since moving to Hearts, Wilson has become a regular in the first team and willing to stay at Hearts for a longer term.[42]

On 27 May 2013, it was announced that Wilson would sign a permanent deal with Hearts after his Liverpool contract was up in the summer.[43] The move was initially blocked by the SPL following the club entering administration and being unable to register new players,[44] but this was later rescinded and Wilson was confirmed as a Hearts player on 30 June.[45] On 2nd of July, Hearts made Wilson club captain at the age of just 21, which manager Gary Locke quote "a big responsibility for him". It is thought this is the reason for Wilson re-signing with the club.[46]

Wilson first game at Hearts as a captain came in the opening game of the season, in a 1-0 defeat to St. Johnstone.[47] After winning 3-1 against Aberdeen on 24 August 2014, Wilson was involved in an incident and swore at the opposition's players that saw him missed a one match ban.[48] Then in November, Wilson then played a role of giving Hearts point slightly in two games when he provided one goal, in a 3-1 win over Aberdeen[49] and another, in a 2-2 draw against Ross County.[50] Soon, Wilson would be on the sideline when he had tonsillitis[51] and scored on his return in a 3-3 draw against St Johnstone.[52] Wilson scored his second goal of the season a month later on 21 March 2014, in a 2-1 loss against Dundee United.[53] His third goal was came in a 4-2 defeat to Partick Thistle on 7 May 2014.[54] However, Wilson was unable to help the club survive the relegation in the Scottish Premiership and despite this, Wilson made thirty three appearance and scoring three times in the league. Despite the relegation, Wilson vowed to help the club bounce back to the Scottish Premiership, as he keen to stay at Hearts when they will be in the Scottish Championship.[55]

In his second season at Hearts, Wilson stated he was looking forward to play in the Scottish Championship with Hearts[56] and eventually when he scored the club's first goal of the season in the Scottish Championship against his former club, Rangers, which he refused to celebrate. Hearts would went on to win 2-1.[57] Soon, Wilson was soon on the sideline when he strain his hamstring.[58] Wilson made his return against Queen of the South and scored his second goal of the season, as well as, providing two assists in a 4-1 win.[59]

Wilson has represented Scotland throughout various underage levels, including captaining the under-19 national football team and features for the under-21 side, He has been involved in the international set-up since the age of 15 and captained the under-19s during 2009.[60] Due to his lack of regular first team football, Wilson dropped back into the under-21 team in October 2011, he has been a regular for the Under-21s in their 2013 UEFA European Under-21 Championship qualifying campaign.[61]

He made five appearances for the under-21s, before making an impressive debut for Craig Levein's side, on 16 November 2010, Wilson played his first ever game for Scotland, scoring on his debut in a 3–0 win in a friendly against the Faroe Islands.[62] On 27 March 2011, he came off the bench to play against Brazil in a friendly match at the Emirates Stadium.[63] In an important 2012 European Championship qualifying game against the Czech Republic, Wilson came on as a substitute and conceded a late penalty which allowed the Czechs to claim a late point at 2–2. However replays of the incident showed that the Czech player involved, Jan Rezek, had dived under Wilson's challenge, and the referee Kevin Blom later admitted that he had been deceived.