The Orica GreenEDGE rider outsprinted Frenchman Tony Hurel and Italy's Giacomo Nizzolo at the end of the 166.5-kilometre stage from Sion, in the canton of Valais, to Montreux in the canton of Vaud.
Poland's Michal Kwiatkowski had begun the day wearing the leader's yellow jersey but lost out to Albasini due to time bonuses on the finishing line.
Albasini, 33, had also won first stage in another mass bunch sprint and the 20 seconds he gained in winning those two stages have now given him a five-second lead over OPQS's Kwiatkowski in the standings, with Lithuania's Ramunas Navardauskas third a further five seconds back.
The Swiss rider's victory continued Australian outfit Orica's recent good form after Simon Gerrans won Liege-Bastogne-Liege race.
"I didn't think I'd do this today but my team worked very hard, even though I wasn't feeling very good during the stage," Albasini told Swiss television RTS.
"I got lucky at the end, I picked a good wheel to follow which gave me a good lead-out," he said.
"It was more of a sprint today," Albasini said.
"I wasn't thinking about taking the yellow jersey but sometimes that happens and I'm delighted."
Kwiatkowski, who was fifth in Montreux, has also maintained his good form since the Ardennes Classics — he was fifth at the Amstel Gold Race and third in both the Fleche Wallonne and Liege-Bastogne-Liege -- winning opening prologue.
third stage takes the peloton over 180 kilometres from Le Bouveret to Aigle with four brutal first category climbs in the Vaud Alps along the way.
Tour de France champion Chris Froome, 10th stage, is currently eighth overall at 19 seconds back but he will be hoping to test his legs in the mountains after a difficult last month blighted by injury and illness.