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.[2]
The Canadiens signed Weber to a three-year entry-level contract in the summer of 2008.[2] He spent the majority of the next two seasons with the Hamilton Bulldogs, the Canadiens' American Hockey League (AHL) affiliate, with his strong play earning him limited action with Montreal and a spot in the 2009 AHL All-Star Game.[3]
Montreal Canadiens
Weber scored his first career NHL goal during the 2009 playoffs, 20 April against Tim Thomas of the Boston Bruins.[4] Weber scored his first NHL regular season goal on 9 February 2011, also against Tim Thomas.[5] 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.
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.[7] After struggling in the 2015–16 NHL season, the Canucks waived and subsequently assigned him to the Utica Comets in February 2016.[8] 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.[9] 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.[10] 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.[11]
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.[12] The Predators signed Weber thereafter to a one-year contract extension worth $650,000 on 13 July.[13]
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.[14]
On 2 January 2021, Weber signed a professional tryout (PTO) agreement to attend the Predators' training camp.[15] However, he was released from this agreement on 13 January.[16]
Pittsburgh Penguins
On 27 January 2021, Weber signed a one-year, two-way contract worth $700,000 with the Pittsburgh Penguins.[17] Following the conclusion of the 2020–21 NHL season, he announced his retirement from NHL play after 13 seasons.[18]
ZSC Lions
On 8 June 2021, Weber signed a three-year contract with the ZSC Lions of the National League (NL).[19] During the midst of the Lions' NL championship run during the 2023–24 season, he was extended for an additional two years.[20]
Weber is the brother-in-law of former Canadiens teammate Carey Price through marriage to the latter's younger sister, Kayla, in July 2022. The couple originally met at the 2014 Sochi Olympics when Weber was there to play for Switzerland, and she to see her brother play for Canada.[24][25]
In July 2024, Weber and his wife welcomed their first child, a daughter named Daisy.[26]