Weber spent one season in Switzerland's National League B, then moved to Canada in 2006 to develop his game. The defenseman had immediate success with Kitchener of the Ontario Hockey League, scoring 96 points in 110 games from 2006-08, and was named to the OHL Second All-Star Team in 2008. He also led Kitchener to the Memorial Cup final.
Selected by the Montreal Canadiens in the third round (No. 73) of the 2007 NHL Draft, Weber spent the 2008-09 season in the American Hockey League and had 44 points (16 goals, 28 assists) in 68 games. He made his NHL debut that season and had one assist in three games. His first NHL goal came in the Stanley Cup Playoffs against the Boston Bruins on April 20, 2009.