Early career Gurpreet took up the game of football at the age of eight and joined the
St Stephen's Academy in 2000. After good performances at the St Stephen's Academy, Gurpreet was selected for his state youth team, the Punjab U16s. He made his youth state level debut in 2006 in
Haldwani. He stayed at St. Stephen's Academy until 2009 when he joined
I-League side
East Bengal as a youth player and spend the rest of 2009 playing for the Kolkata-based teams' youth team.
East Bengal In 2010, Gurpreet officially signed a professional contract with
East Bengal and made five appearances for East Bengal before the end of the
2009–10 season. For the
2010–11 season, Gurpreet was loaned out to
Pailan Arrows, seeking regular game time but ended the season with no caps for Indian Arrows, as they were called then. He started the
2011–12 season as the second choice goalkeeper for
East Bengal during the
2011 Federation Cup, but after the Federation Cup, Gurpreet took over as the first choice 'keeper for East Bengal's
I-League campaign. He started in first game of the
2011–12 I-League campaign in their 0–1 loss to
Churchill Brothers. He made his debut in continental competitions in Asia on 6 March 2012 in the
AFC Cup against
Al-Oruba which East Bengal lost 0–1 and played his last continental match of the season against
Kazma SC on 9 October 2012 which ended 1–2 with East Bengal losing the game. He played his first match of the
2012–13 I-League season against
United Sikkim on 10 November 2012 as a substitute goalkeeper in the 68th minute of the game which ended 0–1 to East Bengal and played his last match of the season on 4 May 2013 in a 2–2 draw against
Dempo SC. Gurpreet played his first match of the
2013–14 I-League season against
Rangdajied United on 17 December which ended 1–2 to East Bengal. Gurpreet played his last league match for East Bengal on 28 April 2014 against
United SC, which ended 0–3 with East Bengal taking the win. Gurpreet played his first
AFC Cup match 2013 against
Selangor F.C. on 27 February 2013, which ended 1–0 to East Bengal. Gurpreet played his last continental cup match for East Bengal on 1 October in a 4–2 loss against
Kuwait SC.
Stabæk Sandhu signed for Norwegian club
Stabæk on 15 August 2014. On 18 January 2015, he made his senior debut for the club in a friendly match against second-tier side
Follo in a 4–1 win. After featuring in a number of
cup games, including Stabæk's entire
2016 cup run, he made his league debut in late May 2016 in an away match 5–0 victory over
IK Start, in the process the inaugural Indian to play in a European top division league. On 30 June 2016, Sandhu became the inaugural Indian to feature in a
UEFA Europa League match, starting the first leg of Stabæk's Europa League First qualifying round tie against
Connah's Quay Nomads at
Belle Vue in
Rhyl, Wales. Sandhu played 30 minutes before being replaced by
Sayouba Mandé. Sandhu played his first
Norwegian Football Cup match on 4 May 2016 against
2nd division club
Bærum SK, which ended 0–3 for Stabæk. Sandhu played his last league match for Stabæk against
Lillestrøm SK on 3 June 2017 which ended 2–4 with Lillestrøm claiming the three points. Sandhu left Stabæk in August 2017 to return to India.
Bengaluru In August 2017, Gurpreet joined
Bengaluru from
Stabæk for undisclosed transfer amount. He made his debut for Bengaluru against
April 25 in an AFC Cup knockout stage match and his league debut was against
Mumbai City, keeping a clean sheet. Sandhu played a pivotal role in Bengaluru's run in the 2017–18 Indian Super League season as they marched to the finals against
Chennaiyin FC, which they came out losing 3–2. Gurpreet kept seven clean sheets the season. On 13 March 2018, Sandhu extended his contract until May 2023. Sandhu played his first match of the
2018–19 Indian Super League against the defending champions Chennaiyin FC on 30 September 2018, which Bengaluru won 1–0. Sandhu kept seven clean sheets in the campaign, as a result, they qualified for ISL finals for second consecutive time to play against
FC Goa. The match finished 1–0 for Bengaluru, and thereby collecting his first Indian Super League trophy. Sandhu played his first match of the
2019–20 Indian Super League on 21 October 2019 in a 0–0 draw against
NorthEast United FC. In the same season, Bengaluru went through
knockout stage for the third consecutive time, before getting knocked down by
ATK in the semi-finals on a 3–2 aggregate score. Sandhu was awarded with the Golden Glove that season for keeping 11 clean sheets, which was the longest stretch of clean sheets by any goalkeeper that season. Sandhu played his first match of the
2020–21 Indian Super League against FC Goa on 22 November 2020 which ended in a 2–2 draw. Gurpreet became the vice-captain of Bengaluru in 2021–22 season after Dimas left the team at the end of 2020–21 season, Gurpreet led the side in an
AFC Cup game against
Maziya where they won 6–2, then again in ISL when skipper
Sunil Chhetri was on the bench he again captained the team for a few games. ==International career==