The average train between Zermatt and Olten takes 3h 8m and the fastest train takes 2h 46m. There is a train service every few hours from Zermatt to Olten. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run hourly between Zermatt and Olten. The earliest departure is at 5:37 AM in the morning, and the last departure from Zermatt is at 10:06 PM which arrives into Olten at 7:00 AM. All services require a transfer, and take on average 3h 8m. The schedules shown below are for the next available departures.

2h 53m • 1 change

2h 54m • 1 change

2h 53m • 1 change

2h 54m • 1 change

2h 53m • 1 change

2h 54m • 1 change

2h 53m • 1 change

2h 54m • 1 change

2h 53m • 1 change

2h 54m • 1 change

2h 53m • 1 change

2h 54m • 1 change
Want to know about travelling from Zermatt to Olten? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Zermatt to Olten. However, there are services departing from Zermatt station and arriving at Olten station via Visp. The journey, including transfers, takes approximately 3h 8m.
Zermatt to Olten train services, operated by Matterhorn Gotthard Bahn, depart from Zermatt station.
Zermatt to Olten train services, operated by Matterhorn Gotthard Bahn, arrive at Olten station.
Book your Zermatt to Olten train tickets online with Matterhorn Gotthard Bahn and Swiss Federal Railways (SBB CFF FFS).
The distance between Zermatt and Olten is 148.2 km. The road distance is 191 km.
You can take a train from Zermatt to Olten via Visp in around 3h 13m.