Gagnon was drafted in the 5th round, 83rd overall by the Seattle Thunderbirds in the 2001 WHL Bantam Draft. In the season immediately following the draft, Gagnon played in 2 games with the Thunderbirds, while spending most of the season with his North Okanagan Midget AA team of the BCAHA where he scored 59 goals and 118 points in only 41 games to lead the team in scoring. One year later, Gagnon began his rookie season with Seattle. In 60 games, Gagnon scored 18 points while adding another 5 points in 15 playoff games. Gagnon's sophomore season was a large improvement over his rookie campaign. With 36 points in 63 games, Gagnon doubled his previous seasons' point total. Gagnon's defensive game also improved, as he led the Thunderbirds in plus/minus with a plus-18. Gagnon's third season in the WHL proved to be one of his most successful. After setting new career highs in goals, assists, and points in 72 games, Gagnon was named to the WHL West First All-Star Team and was named the Western Conference nomination for the Brad Hornung Trophy as the WHL's most sportsmanlike player of the year, an award he ultimately lost to Kris Russell of the Medicine Hat Tigers. On September 22, 2005, just prior to the start of his fourth full WHL season, Gagnon was named captain of the Thunderbirds. Gagnon's final season with the Thunderbirds was arguably the best of his WHL career. Serving once again as the Thunderbirds' captain, Gagnon finished the season with career highs in goals, assists, and points in only 59 games. During the season, Gagnon was twice named the Boston Pizza WHL Player of the Week and was also named the Husky WHL Player of the Month for December. At the completion of the regular season, Gagnon was named to the WHL West First All-Star Team and was the Western Conference nomination for both the Four Broncos Memorial Trophy as the WHL's MVP, and the Brad Hornung Trophy as the WHL's most sportsmanlike player of the year. For the second time in his WHL career, Gagnon lost out on an award to Kris Russell of the Medicine Hat Tigers, losing the Four Broncos Memorial Trophy; however, Gagnon did manage to win his first Brad Hornung Trophy.
Professional
Gagnon was drafted in the eighth round, 240th overall by the Phoenix Coyotes in the 2004 NHL Entry Draft. On February 2, 2007, Gagnon signed a three-year entry-level contract with the Dallas Stars. On July 1, 2011, Gagnon signed a one-year contract as a free agent with the Winnipeg Jets. In early August 2013, after spending his first five professional seasons in North America, Gagnon signed for two years with the Swedish Hockey League team HV71, joining Riley Holzapfel whom he played with in St. John's IceCaps. In the 2013–14 season, Gagnon appeared in only 9 games with HV71 before opting to transfer to the Finnish Liiga with Lukko Rauma. He stayed at Lukko until January 25, 2017, and then moved to SC Bern of the National League, where he inked a deal for the remainder of the 2016-17 season.