Campbell was born in North Shields and attended St Bernadette's R.C Primary School in Wallsend as well as St Thomas More R.C High School in North Shields from 2006 to 2011. He is a product of Wallsend Boys Club. He is also a practising Roman Catholic. Campbell won the Most Valuable Player award at the 2010 Nike Cup at Old Trafford. In addition, Campbell was awarded Premier Player of the Tournament at the 2012 Milk Cup. He made his competitive debut against Atromitos in the UEFA Europa League on 23 August 2012, becoming the youngest player to play for Newcastle in European competitions. Campbell made his Premier League debut for Newcastle United on 10 March 2013, taking up a position on the left wing. He came off the bench late in the second half in a 2–1 win against Stoke City, making a pass to Sylvain Marveaux who assisted Papiss Cissé for the winner.
Loan spells
On 2 August 2013, Campbell scored a brace in a pre-season friendly against Gateshead, the end result finishing 2–1. Later in August, Campbell joined Carlisle United on a one-month loan deal. He made his debut for Carlisle on 17 August 2013, coming on at half-time in a 4–0 loss to Coventry City. Later that month, he was recalled from his loan. It was announced on 26 December 2013, that Campbell had agreed a loan deal with Scottish Premiership side St Mirren, which would start on 1 January 2014 and run until the end of the season. He scored on his St Mirren debut, in a 2–1 defeat against Kilmarnock in a Scottish Premiership match at Rugby Park, on 2 January 2014. Campbell ended his loan spell with 12 appearances and two goals. On 7 August 2014, Campbell joined League One outfit Fleetwood Town on a one-month loan. He failed to score in four appearances for the club. Campbell was loaned to League Two side Hartlepool United for one month on 21 November 2014. He made two league appearances without scoring. On 16 January 2015, Campbell, along with Callum Roberts, signed for Gateshead on a 28-day youth loan deal. Two days later, he scored both goals on his debut, in a 2–0 win over Nuneaton Town.
Notts County
In July 2015 Campbell signed for Notts County.
Morecambe
In June 2017 Campbell signed for Morecambe. He scored his first goal for the club in a 2–1 loss at Barnet on 16 December 2017. On 3 August 2018, Campbell joined fellow League Two side Carlisle United on loan until January. He was released by Morecambe at the end of the 2018–19 season.
Darlington
Following his release from Morecambe, Campbell signed for National League North club Darlington on 3 July 2019.