Wagner as a Massachusetts native played junior hockey in the Eastern Junior Hockey League with the South Shore Kings where he and his family moved. In his second season with the Kings in 2009–10 as an 18-year old, Wagner matched an EJHL single-season scoring record with 83 points in only 44 games. He captained the team to the Southern Division Championship before committing to play collegiate hockey with the Colgate Raiders of the ECAC conference in the NCAA. Wagner's development promise gained notice and as a result was he was selected by the Anaheim Ducks in the 2010 NHL Entry Draft. In his freshman season with the Raiders in 2010–11, he led rookies in team scoring with nine goals and 28 points in 41 games. Wagner continued his upswing in potential the following season by leading Colgate and placing second in the ECAC in scoring. His 51 points in 38 games led all NCAA underclassmen and he was selected in the Second All-Star Team. His two-way presence was noticed as he finished as a finalist for the ECAC's best defensive forward. On April 3, 2012, Wagner ended his collegiate career prematurely when he was signed to a three-year entry level contract with the Anaheim Ducks.
Professional
Wagner made his professional debut with the Ducks' AHL affiliate, the Norfolk Admirals to open the 2012–13 season, in a contest against the Worcester Sharks on October 12, 2012. In remaining with the Admirals for the duration of the year, Wagner appeared in 70 games with 8 goals and 21 points. In his second season, Wagner continued his development in Norfolk, ending the 2013–14 season, as the only player to appear in every game. Approaching the final year of his entry-level deal, Wagner was amongst the last cuts to make the Ducksopening night roster for the 2014–15 season. Wagner immediately responded in Norfolk to earn AHL player-of-week honors to open the season. He was soon recalled by the Ducks from the Admirals and made his NHL debut in 2-1 victory over the Minnesota Wild on October 17, 2014. Wagner was recalled on several occasions during the season, used in a physical checking-line role finishing scoreless over 9 games. He increased his scoring presence in the AHL with the Admirals, earning a selection to the AHL All-Star Game. At the conclusion of the Admirals season he was recalled for the Ducks post-season and made his playoff debut in the opening round victory over the Winnipeg Jets. As a restricted free agent, Wagner was signed by the Ducks to a one-year extension on July 17, 2015. Wagner was amongst the Ducks' most impressive during the pre-season, and made his first NHL opening night roster to begin the 2015–16 season. As the Ducks extra forward, he featured in one game before he was exposed to his waiver eligibility, upon being assigned to new AHL affiliate, the San Diego Gulls on October 21, 2015. He was recalled to Anaheim after three games with the Gulls and played in a further 10 scoreless games with the Ducks as their fourth-line center before he was again placed on waivers. On November 15, 2015, Wagner was claimed off waivers by the Colorado Avalanche. He made his Avalanche debut two days later on the November 17, in a 5-1 road loss to the Toronto Maple Leafs. In his fifth game with the Avalanche, Wagner scored his first NHL goal in a 5-3 loss to the Ottawa Senators on November 25, 2015. Wagner remained on the Avalanche in a rotating role on the fourth-line. After 26 games posting 4 goals, Wagner was placed back on waivers by the Avalanche on February 24, 2016. The following day he was re-claimed by the Anaheim Ducks and directly assigned to AHL affiliate in the Gulls. On February 26, 2018, the day of the trade deadline in the 2017–18 season, Wagner was traded to the New York Islanders in exchange for Jason Chimera. Wagner played out the remainder of the season, posting just 1 goal in 15 games as the Islanders finished out of playoff contention. On July 1, 2018, having left the Islanders as a free agent, Wagner signed a two-year deal worth $2.5 million with his hometown club the Boston Bruins. In returning home, Wagner quickly found his role in the Bruins bottom six forwards for the 2018–19 season, establishing career highs with 12 goals and 19 points in 76 regular season games. Adding depth to the Bruins in the post-season, Wagner recorded 2 goals in 12 games before suffering a season ending injury which rendered him unavailable to participate in the 2019 Stanley Cup Finals where the Bruins fell to the St. Louis Blues in seven games. On November 27, 2019, Wagner signed a three-year, $4.05 million contract extension with the Bruins.