Early career As a youth, Weber played in the 2002
Quebec International Pee-Wee Hockey Tournament with a team from Central
Switzerland. Weber began his professional hockey career in his native Switzerland, playing for
SC Langenthal of the
National League B, the second-highest tier of Swiss hockey. However, he moved to Canada in 2006 to develop his game with the
Kitchener Rangers of the
Ontario Hockey League (OHL). Over the course of two seasons with the Rangers, Weber scored 96 points and added 26 more in the playoffs. In
2007–08, his last season with the Rangers, he helped the team to their fourth
J. Ross Robertson Cup championship and to the final of the
2008 Memorial Cup. The Canadiens signed Weber to a three-year entry-level contract in the summer of 2008.
Montreal Canadiens Weber scored his first career NHL goal during the
2009 playoffs, 20 April against
Tim Thomas of the
Boston Bruins. Weber scored his first NHL regular season goal on 9 February 2011, also against Tim Thomas. Weber contributed two goals during the Canadiens' first round
2011 playoff series against the Boston Bruins, both times beating Tim Thomas. On 9 October 2011, Weber scored a power play goal against the
Winnipeg Jets, contributing to a 5–1 Canadiens win in Winnipeg's first regular season game since
1996.
Vancouver Canucks On 5 July 2013, he signed a one-year deal with the
Vancouver Canucks after not being qualified as a
restricted free agent by the Canadiens. In the
2014–15 NHL season, Weber set a career-high record in goals with 11. He scored five of those 11 in the final 11 games of the season, 4 of which were on the powerplay. On 1 July 2015, he re-signed with the Canucks to a one-year deal worth $1.5 million. After struggling in the
2015–16 NHL season, the Canucks
waived and subsequently assigned him to the
Utica Comets in February 2016. However, due to a season-ending injury to
Alexander Edler, he was recalled just a few days later before playing any games for the Comets. He would finish the season with the Canucks but did not appear in many games after this point.
Nashville Predators On 1 July 2016, Weber left the Canucks after three seasons, signing a one-year contract as a free agent with the
Nashville Predators. He registered eight points (one goal, seven assists) in 73 regular-season games during the
2016–17 NHL season, as well as one assist in 22 playoff games to help Nashville advance to the
Stanley Cup Finals for the first time since entering the NHL in
1998 before losing to the
Pittsburgh Penguins in six games. On 6 June 2017, it was announced that Weber had turned down offers from
Geneva and
Lugano (that would have paid him more than
CHF1.7 million a year over multiple seasons) to pursue his NHL career. The Predators signed Weber thereafter to a one-year contract extension worth $650,000 on 13 July. After appearing in 26 games to begin the
2017–18 NHL season, the Predators opted to re-sign Weber yet again, this time to a two-year, $1.35 million contract worth $675,000 annually in January 2018. On 2 January 2021, Weber signed a
professional tryout (PTO) agreement to attend the Predators' training camp. However, he was released from this agreement on 13 January.
Pittsburgh Penguins On 27 January 2021, Weber signed a one-year, two-way contract worth $700,000 with the Pittsburgh Penguins. Following the conclusion of the
2020–21 NHL season, he announced his retirement from NHL play after 13 seasons.
ZSC Lions On 8 June 2021, Weber signed a three-year contract with the
ZSC Lions of the
National League (NL). During the midst of the Lions' NL championship run during the
2023–24 season, he was extended for an additional two years. ==International play==