The double-decker bus was travelling on Saturday from the canton of Aargau to Milan, with passengers heading to the Italian city to watch Juventus take on league leaders AC Milan.
But the 53-year-old driver suddenly lost consciousness and collapsed in his seat as the vehicle passed through the community of Wohlen, Aargau cantonal police said.
A quick-thinking passenger, identified as Salvatore Novello, grabbed the wheel and averted a potential disaster by bringing the vehicle under control.
“Suddenly the driver coughed twice, then his head slumped to one side and he was unconscious,” Novello told Blick, the German-language newspaper.
Novello, who was sitting in the front row of seats, reacted quickly.
“The bus drifted off the road on the right side, banged on the curb and was almost on the tracks of the regional train,” he recalled.
He managed to steer the bus back onto the road and bring the vehicle to a halt.
“When I realized what happened, I was shaking all over.”
The fans tried to resuscitate the bus driver without success.
Paramedics arriving on the scene were unable to save the driver, who died on the spot.
Aargau police did not reveal the exact cause of death of the man, who had four children.
One of the passengers, Peter Vallone, praised Novello for his heroic actions.
“It’s great what he has done,” Vallone told Blick. “He saved the others’ lives and prevented a catastrophe.”
The newspaper revealed that the trim Novello, a mechanic from Niederönz, Bern, recently did a photo shoot in a bid to enter the Mr. Switzerland pageant.