The average train between Canton of Zurich and Olten takes 44 min and the fastest train takes 37 min. The train runs at least 3 times per hour from Canton of Zurich 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 every 20 minutes between Canton of Zurich and Olten. The earliest departure is at 6:22 AM in the morning, and the last departure from Canton of Zurich is at 6:57 PM which arrives into Olten at 7:39 PM. All services require a transfer, and take on average 44 min. The schedules shown below are for the next available departures.

38 min • 1 change

43 min • 1 change

42 min • 1 change

56 min • 1 change
Want to know about travelling from Canton of Zurich 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 Canton of Zurich to Olten. However, there are services departing from Canton of Zurich station and arriving at Olten station via Olten. The journey, including transfers, takes approximately 44 min.
Canton of Zurich to Olten train services, operated by Swiss Federal Railways (SBB CFF FFS), depart from Zürich HB station.
Canton of Zurich to Olten train services, operated by Swiss Federal Railways (SBB CFF FFS), arrive at Olten station.
Book your Canton of Zurich to Olten train tickets online with Swiss Federal Railways (SBB CFF FFS).
The distance between Canton of Zurich and Olten is 57.1 km. The road distance is 56 km.
Swiss Federal Railways (SBB CFF FFS) operates a train from Zürich HB to Olten every 20 minutes. Tickets cost CHF 18–55 and the journey takes 35 min. Schweizerische Südostbahn AG also services this route hourly.