Gibson joined Middlesbrough's Academy from Marton at the age of 12. He was a member of the Middlesbrough team that won the Nike Cup in 2008 and signed his first professional contract with the club on 1 July 2010. He made his first-team debut as a substitute on 25 April 2011 against Coventry City, coming on in the 41st minute for the injured Andrew Davies, with Middlesbrough going on to win the game 2–1. He finished the 2010–11 season with one appearance for Middlesbrough, and having captained the reserve team to The Football Combination East Division title. Gibson signed a three-month loan deal with League Two club Plymouth Argyle on 2 August 2011. After making 13 appearances in this time, Gibson and both clubs involved agreed on 1 November 2011 to extend the loan deal until 29 January 2012. However, the loan was cut short after Middlesbrough recalled him on 30 November 2011. He signed for Conference Premier club York City on loan until the end of 2011–12 on 9 February 2012. After a promising start Gibson was sent off in the 1–0 away victory to Cambridge United. However, after missing the next four games through suspension he won the 2012 FA Trophy Final with York at Wembley Stadium on 12 May, in which the team beat Newport County 2–0. Eight days later he played in the 2–1 victory over Luton Town in the 2012 Conference Premier play-off Final at Wembley on 20 May 2012, seeing the club return to the Football League after an eight-year absence with promotion to League Two. Gibson completed his loan at York with 11 appearances. On 14 August 2012, Gibson joined League One club Tranmere Rovers on a one-month loan. The month was extended until January 2013 the following month, but in December 2012 was ruled out of action with an abductor problem, thus ending the duration of his first loan spell at Rovers. He signed a new four-year contract with Middlesbrough on 18 December 2012. On 13 March 2013, Gibson returned on loan to Rovers, until the end of the season. The 2013–14 season saw Gibson become more involved in the first team squad for Middlesbrough; the team did not perform well, and manager Tony Mowbray was sacked in October 2013. Aitor Karanka replaced him, and they finished twelfth. The following season saw the club finish fourth, qualifying for the promotion play-offs. They reached the final at Wembley Stadium, having won 5–1 on aggregate against Brentford, but were defeated 2–0 by Norwich City. In the 2015–16 season, Gibson helped Middlesbrough secure promotion to the Premier League, having finished as runners-up, behind champions Burnley, in the Championship. Gibson still remained as a crucial part of Middlesbrough's squad in their 2016–17 Premier League campaign, though they did not record positive results; they dropped into relegation zone in March 2017, with Karanka being sacked later that month. Their relegation back down to the Championship was confirmed in May 2017, after a 3–0 defeat to champions Chelsea, with the club having only been in the English top flight for one season.
Burnley
Gibson signed for Premier League club Burnley on 5 August 2018 on a four-year contract for a joint club-record fee of £15 million. He made his first appearance for the Clarets on 16 August, a Europa League third qualifying round second leg affair, which saw Burnley victorious over Turkish club İstanbul Başakşehir, in a 1–0 success, where Gibson also received a yellow card. Gibson then appeared in their next European fixture the following week, a 3–1 defeat to Greek club Olympiacos, in which he was sent off for a second bookable offence. He made his Premier League debut for the club on 26 December 2018, in which he scored Burnley's only goal of the match, which was a sorrow 5–1 defeat to Everton.