Tony Hurel (Team Europcar) took second with Giacomo Nizzolo (Trek Factory Racing) in third as the riders travelled the 166.5km route from Sion to Montreux.
Albasini leads Michal Kwiatkowski (Omega Pharma - Quick-Step) by five seconds in the general classification. Britain's Chris Froome moved into eighth but remained 19 seconds off the pace.
"Winning two stages in a row is just fantastic," said Albasini. "It's been a really good day for us."
The peloton successfully chased down breakaway duo Martin Kohler (BMC Racing) and Pirim Lang (IAM Cycling) with three kilometres remaining to set up an exciting finale as the rain began to fall.
Kwiatkowski was the first to dart for home but the Quick-Step rider was quickly overhauled – eventually finishing fifth – as Albasini made it two wins from two stages.
Stage two results
1. Michael Albasini (Switzerland / Orica) 4:12:22"
2. Tony Hurel (France / Europcar) ST
3. Giacomo Nizzolo (Italy / Trek)
4. Alexey Tsatevich (Russia / Katusha)
5. Michal Kwiatkowski (Poland / Omega Pharma - Quick-Step)
6. Maxim Iglinskiy (Kazakhstan / Astana)
7. Tosh Van der Sande (Belgium / Lotto)
8. Ramunas Navardauskas (Lithuania / Garmin)
9. Danilo Wyss (Switzerland / BMC Racing)
10. Chris Froome (Britain / Team Sky)
1. Michael Albasini (Switzerland / Orica) 6:29:50"
2. Michal Kwiatkowski (Poland / Omega Pharma - Quick-Step) +5"
3. Ramunas Navardauskas (Lithuania / Garmin) +10"
4. Jesus Herrada (Spain / Movistar) +11"
5. Matthias Braendle (Austria / IAM Cycling) +12"
6. Rohan Dennis (Australia / Garmin) +13"
7. Tony Martin (Germany / Omega Pharma - Quick-Step) +14"
8. Chris Froome (Britain / Team Sky) +19"
- Sports & Recreation
- Michal Kwiatkowski
- Chris Froome
- Omega Pharma
- Giacomo Nizzolo
- Trek Factory Racing
- Tony Hurel
- Martin Kohler