Weber played his youth football with local club Nordstern Basel. He advanced to their first team in 1933. He played two seasons with Nordstern and then moved on to play one season for FC Bern. Weber joined FC Basel's first team under team managerHeinz Körner for their 1936–37 season. After three test games he played his domestic league debut for his new club in away game on 30 August 1936 as Basel were defeated 0–1 by his old club Bern. He scored his first goal for his club on 25 April 1937 in the home game at the Landhof against La Chaux-de-Fonds. In fact he scored two as Basel won 3–2. Basel played a very poor and un-consistent season. Only thanks to four consecutive victories towards the end of the campaign lifted the team to finish in joint second last position in the league table. Because La Chaux-de-Fonds and Basel both had 20 points, they had to have a play-off against relegation. This was played in the Wankdorf Stadium in Bern on 13 June 1937. This ended goalless after 90 minutes. In over time La Chaux-de-Fonds took the lead, but Weber was able to equalise. The replay was played in the Stadion Neufeld in Bern on 20 June 1937 and ended in a 1–0 victory for Basel and so they prevented relegation at the last possible moment. The following season Basel played a better and more consistent season under player-manager Fernand Jaccard. 22 league games in total, 12 of them ended with a victory, three ended in a draw and the team suffered seven defeats. With 27 points Basel ended the season in fourth position. In his two seasons Weber played a total of 61 games for Basel scoring a total of 21 goals. 43 of these games were in the Nationalloga, four in the Swiss Cup and 14 were friendly games. He scored 11 goals in the domestic league, two in the Cup and the others were scored during the test games. Weber moved on and joined Lugano. He stayed here for six seasons and this was Weber's most successful time. In the season 1940–1941 Weber and Lugano were Swiss champions. In the season 1942–1943 they reached the cup final and were runners-up in the league. In the season 1945–1946 Weber moved to Bellinzona. In the season 1947–1948 Weber won the championship with the club. He stayed in Bellinzona for four years before he ended his active career.