He previously played in the NRL for the Penrith Panthers between 2006 and 2012, the Cronulla-Sutherland Sharks between 2013 and 2015, the Parramatta Eels in 2016 and the Sydney Roosters in 2017, then the Gold Coast Titans from 2018 to 2019 where he saw out his career.
He played his junior rugby league for the Tweed Coast Raiders and was educated at Kingscliff High School and graduated from Year 12 in 2001.
[4][5] In round 24 against the South Sydney Rabbitohs, Gordon set a new club record for most points in a match with 30 in the Panthers 54–18 win at Penrith Stadium.
In May 2012, the Cronulla-Sutherland Sharks made Gordon an offer which he accepted before Phil Gould, the Executive General Manager of the Penrith Panthers, was able to make a counter-offer.
In round 22, against the New Zealand Warriors, Gordon played his 150th NRL career match in the Sharks 16–12 loss at Mt Smart Stadium.
[15] On 19 May 2015, Gordon asked for an immediate release to sign with the Parramatta Eels so he could play at fullback permanently, and he reportedly could no longer work with coach Shane Flanagan.
[21] In Round 23 against the Brisbane Broncos, Gordon played his 200th NRL career match and kicked 2 goals in the Eels 38–16 loss at Suncorp Stadium.
In round 1 of the 2017 NRL season, Gordon made his club debut for the Sydney Roosters against the Gold Coast Titans, playing at fullback, scoring a try and kicking 4 goals in the 32–18 win at Robina Stadium.
On 12 December 2017, Gordon was released from his final year of his contract with the Roosters to sign a 2-year deal with the Gold Coast Titans starting in 2018.
Gordon saying about the signing "I'm excited about the opportunity to return home and to play for the Titans," "I had a good conversation with Garth and the future looks bright", "I hope I can contribute and be part of a successful club here on the Gold Coast.
[25] In round 5 of the 2019 NRL season, Gordon made his 250th appearance as the Gold Coast defeated one of his former sides Penrith 30–24 at Cbus Super Stadium.
[26][27] On 7 September, Gordon played his last game against the St. George Illawarra Dragons and kicked 2 out of 3 goals, scoring 4 points in a 24–16 loss at Cbus Super Stadium.