McGinn was selected in the third round, 50th overall by the Ottawa 67's in the 2004 OHL Priority Selection. After two seasons with the team, McGinn was selected in the second round, 36th overall by the San Jose Sharks in the 2006 NHL Entry Draft. He spent the entirety of his major junior career with the 67's, with his best season coming during the 2006–07 season, in which he led the team with 46 goals and 89 points.
After his 2006–07 OHL season, McGinn was signed to an entry-level deal by the Sharks. He appeared in four regular season games and six playoff games for their American Hockey League affiliate, the Worcester Sharks.
McGinn made his National Hockey League (NHL) debut on October 28, 2008, against the Pittsburgh Penguins. He scored his first NHL goal on October 30, 2008 against the Detroit Red Wings in only his second career NHL game.
On June 30, 2011, McGinn re-signed to a one-year, $680,000 contract with the Sharks. In the 2011–12 season, McGinn enjoyed a break-out season scoring 12 goals and 24 points in 61 games.
In the midst of his break-out season, McGinn was traded at the trade deadline on February 27, 2012, to the Colorado Avalanche, along with prospects Mike Connolly and Michael Sgarbossa in exchange for Daniel Winnik, T.J. Galiardi and a seventh round selection. As a restricted free agent, McGinn filed for arbitration in the summer of 2012, but on July 13 McGinn signed a two-year, $3.5 million contract with the Avalanche.
On June 19, 2014, McGinn agreed to another two-year contract extension with the Avalanche. McGinn would miss the Avalanche's entire training camp and pre-season for the 2014–15 season, due to his recurrent back injury. He was able to return to the team to begin the season, however after 19 games McGinn was ruled out for the remainder of the season to undergo back surgery after re-injuring his troublesome back in game against the New Jersey Devils on November 15, 2014.
At the 2015 NHL Entry Draft, the Avalanche traded McGinn, alongside Ryan O'Reilly, to the Buffalo Sabres in exchange for Nikita Zadorov, Mikhail Grigorenko, prospect J. T. Compher, and the 31st pick in the draft on June 26, 2015. McGinn successfully returned from back surgery, and recorded 14 goals and 27 points in 63 games.
On February 29, 2016, McGinn was traded to the Anaheim Ducks in exchange for a conditional 3rd-round pick. McGinn ended the season with 12 points in 21 games for the Ducks.
On July 1, 2016 it was announced that McGinn had signed as a free agent to a three-year contract with the Arizona Coyotes. In his lone season with the club, McGinn recorded 9 goals and 17 points in 72 games.
On September 17, 2017, McGinn was traded to the Florida Panthers in exchange for Jason Demers.
His younger brothers, Tye (born 1990) and Brock (born 1994) are also hockey players. Tye was selected 119th overall by the Philadelphia Flyers in the 2010 NHL Entry Draft and is currently playing professionally in the NHL with the Tampa Bay Lightning; and Brock was selected 47th overall by the Carolina Hurricanes in the 2012 NHL Entry Draft and is currently playing with the Carolina Hurricanes of the NHL. Along with his father, Bob McGinn, and his two brothers, he is one of the owners of the Roanoke Rail Yard Dawgs of the Southern Professional Hockey League.
McGinn is an avid Toronto Blue Jays fan.
McGinn suffers from a genetic back problem that plagued him extensively during his pre-pro career. Cortisone, rehab, and major surgery in the summer of 2008 helped alleviate the pain, though the lingering effects still plague McGinn, especially due to his high-pace playing style.