Tens of thousands of rail passengers faced delays on Thursday, after a damaged overhead line brought traffic to a standstill.
Workers laboured through the night to fix the problem and restore service on Friday morning. Commuters may still experience some delays, the Swiss Federal Railways said.
In total, about 1,700 trains were affected, including the main line services between Zurich and Bern and Zurich and Basel, which had to be diverted.
The incident happened just before 4pm at Dietikon, a busy suburban station near Zurich, when an intercity train tore down the cable, putting all six tracks there out of action for two hours during the busiest part of the rush hour.
Four tracks were restored by 6pm on Thursday, allowing the long-distance service to resume. Other lines required a replacement bus service.
The cause of the incident is under investigation.
swissinfo with agencies