In round 8 of the 2006 NRL season, Gordon made his NRL debut for the Penrith Panthers against the Cronulla-Sutherland Sharks at centre in the Panthers 40-12 loss at Penrith Stadium. In round 11 against the Parramatta Eels, Gordon scored his first NRL career try in the Panthers 30-20 win at Penrith Stadium. Gordon finished his debut year in the NRL with him playing in 18 matches, scoring 11 tries and kicking 7 goals for the Panthers in the season.
Gordon played in 19 matches, scoring 9 tries and kicking 57 goals, in 2007
2008
Gordon finished the 2008 NRL season with him playing in 15 matches, scoring 11 tries and kicking 38 goals for the Penrith Panthers.
2009
During the 2009 season, Gordon kicked 23 consecutive goals before missing one, establishing himself as the Panthers number one goal kicker. He played in 15 matches, scoring 3 tries and kicking 57 goals.
2010
In game 3 of the 2010 State of Origin series, Gordon was selected to play for New South Wales on the wing, Gordon kicking 3 goals in the Blues 23-18 loss at ANZ Stadium. 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. At the end of 2010 NRL season, Gordon set a new club record for most points in a season with 270 points in 25 matches.
2011
Gordon was selected for the NSW Country side in the annual City vs Country Origin match on wing, scoring a try and kicking 2 goals in Country's 18-12 win in Albury. In round 10, Gordon injured his anterior cruciate ligament which required surgery and ruled him out for the remainder of the season. Gordon scored a try in the match. Gordon finished the 2011 NRL season with him playing in 9 matches, scoring 4 tries and kicking 25 goals for the Panthers.
2012
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. It was then announced that Gordon would be leaving for the Sharks in 2013, on a 3-year deal ending in 2015. Gordon finished the 2012 NRL season with him playing in 7 matches, scoring a try and kicking 2 goals in his last season with the Penrith Panthers.
2013
In round 1 of the 2013 NRL season, Gordon made his club debut for the Cronulla-Sutherland Sharks against the Gold Coast Titans at fullback, kicking 2 goals in the Sharks 12-10 win at Remondis Stadium. In round 2 against the South Sydney Rabbitohs, Gordon scored his first club try for the Sharks in the 14-12 loss at ANZ Stadium. Gordon was selected for the NSW Country origin side for the annual City vs Country Origin match, playing at fullback in Country's 18-12 win at Coffs Harbour. Gordon finished the 2013 NRL season as the Sharks highest point scorer with 112 points in 22 matches.
2014
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. He played in all of the Sharks 24 matches, scoring 6 tries and kicking 50 goals. On 8 September, Gordon was selected for the Australia KangaroosFour Nations train-on squad but didn't make the final 24-man squad.
2015
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. The request was denied by the Sharks. However, on 18 June 2015, Gordon signed a one-year contract with the Eels starting in 2016. Gordon finished his last year with the Cronulla-Sutherland Sharks with him playing in 25 matches, scoring 4 tries and kicking 74 goals in the 2015 NRL season. In 2020, Gordon spoke of his move away from Cronulla-Sutherland to Parramatta saying "Usually if there's stuff going on in your life you can always go to training or go play and that takes it away but my problem was at training. There was a six or eight week period there where I just hated footy. I was still playing but hated being there, hated what was going on behind the scenes, stuff that I had no control over. That was the worst part. If it was something I'd done I'd cop it on the chin and move on but it was stuff happening behind my back that I had no control of, that was the worst part. Going to Parra was like a breath of fresh air, I got out of there and fell in love with footy again and it was great".
2016
In round 1, Gordon made his club debut for the Parramatta Eels in the season-opening match against the Brisbane Broncos, playing at fullback in the Eels 17-4 loss at Parramatta Stadium. In May, he was linked to the Sydney Roosters and a possible mid-season transfer to the club but instead on 22 June 2016, Gordon signed a one-year deal with the Roosters starting in 2017, staying with Parramatta for the rest of the year. 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. He finished his only season at the Eels with him playing in all of the Eels 24 matches, scoring 5 tries and kicking 158 goals.
2017
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 4 July 2017, Gordon extended his contract with the Roosters for another season for 2018. Gordon finished the 2017 NRL season with 172 points for the Roosters, including seven tries and 72 goals in 22 matches. 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."
2018
In round 1 of the 2018 NRL season, Gordon made his club debut for the Gold Coast Titans against the Canberra Raiders, playing at fullback and kicking 5 goals in the Titans last minute 30-28 win at Robina Stadium.
2019
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. Gordon scored a try and kicked 5 goals in the game. On 7 August, Gordon announced that he would be retiring at the conclusion of the season. 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. The Gold Coast would finish the 2019 NRL season in last place on the table as they claimed the wooden spoon. Gordon finished his career having claimed three wooden spoons at three different clubs as he was previously with Penrith when they finished last in the 2007 NRL season and with Cronulla in the 2014 NRL season.