During his playing career Fischer only played for two clubs: FC Zürich and FC St. Gallen. He was captain of both teams and is with 545 caps the record player in the Swiss Super League. He started his career in the youth department of FC Zürich and played his first game as professional 7 April 1984 aged 18 in a 1:6 loss against FC Sion. His only title is the win of the Swiss Cup 2000. Fischer played four national caps for Switzerland under coach Ulrich Stielike.
Fischer quit playing professional football in 2003. He then coached the U-14, U-16 and U-21-teams of FC Zürich. After a short spell as the assistant manager of Bernard Challandes in 2007-2008, he returned to the U-21. When Challandes was sacked, Fischer was appointed as caretaker 17 April 2010 and after three games, which he all lost, became permanent manager. He finished the 2010–11 season with FC Zürich second behind FC Basel. He was sacked by FC Zürich in 2012 following a poor league finish, his replacement Rolf Fringer would not last much longer, with a fellow coach under Fisher in Urs Meier being brought in to coach FC Zürich for the remainder of 2013.