The Orica-GreenEdge rider dropped Peter Velits (Omega Pharma-QuickStep) before the final climb of the 148.2km stage from Bischofszell.
“My first goal today was to get into the breakaway because we rode through the town where I lived,” said Albasini.
“I have tried to get in a break every day, and today was another day where I made the same attempt.
"I did a hard attack to get away with four other riders. I’m surprised that I could bring it all the way to the finish. I’m really happy with this win.”
Velits, who had stayed out in front with Albasini for the majority of the stage, fell away to finish 32nd at 7:38.
Portuguese Rui Costa of Movistar stays in yellow but Frank Schleck (RadioShack-Nissan) is now only 14 seconds behind overall after a late attack alongside Mikel Nieve (Euskaltel-Euskadi) and Levi Leipheimer (Omega Pharma-QuickStep) which saw that group finish second at 1:15.
Dutchman Robert Gesink (Rabobank), France’s Thibaut Pinot (FDJ-Big Mat) and American Thomas Danielson (Garmin-Barracuda) were in the third group, 21 seconds further back.
Leipheimer is now third overall at 21 seconds ahead of Gesink (+25s) and Nieve (+40s).
Stage eight result:
1) Michael Albasini (SWI) – Orica-GreenEdge – 3.45.39
2) Mikel Nieve (SPA) – Euskaltel-Euskadi +1.15
3) Levi Leipheimer (USA) – OmegaPharma-QuickStep
4) Frank Schleck (LUX) – RadioShack-Nissan-Trek
5) Robert Gesink (NED) – Rabobank +1.36
6) Thibaut Pinot (FRA) – FDJ-Big Mat
7) Thomas Danielson (USA) – Garmin-Barracuda
8) Steven Kruijswijk (NED) – Rabobank +1.39
9) Roman Kreuziger (CZE) – Astana +1.57
10) Jakob Fuglsang (DEN) – RadioShack-Nissan-Trek