The average train between Berlin and Olten takes 8h 20m and the fastest train takes 7h 54m. The train service runs several times per day from Berlin 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 3 hours between Berlin and Olten. The earliest departure is at 4:28 AM at night, and the last departure from Berlin is at 11:28 PM which arrives into Olten at 9:25 AM. All services require a transfer, and take on average 8h 20m. The schedules shown below are for the next available departures.

7h 56m • 1 change

7h 54m • 1 change

7h 54m • 1 change

7h 54m • 1 change

7h 57m • 1 change

7h 56m • 1 change

7h 54m • 1 change

7h 54m • 1 change

7h 57m • 1 change

7h 56m • 1 change

7h 54m • 1 change

7h 54m • 1 change

7h 56m • 1 change

7h 54m • 1 change

7h 54m • 1 change

7h 54m • 1 change

7h 56m • 1 change

7h 54m • 1 change

7h 54m • 1 change

7h 54m • 1 change

7h 57m • 1 change

7h 56m • 1 change

7h 54m • 1 change

7h 54m • 1 change
Want to know about travelling from Berlin 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 Berlin to Olten. However, there are services departing from Berlin station and arriving at Olten station via Basel SBB. The journey, including transfers, takes approximately 8h 20m.
Berlin to Olten train services, operated by Deutsche Bahn Intercity (DB IC), depart from Berlin Hbf station.
Berlin to Olten train services, operated by Deutsche Bahn Intercity (DB IC), arrive at Basel SBB station.
Book your Berlin to Olten train tickets online with Deutsche Bahn Intercity (DB IC), SBB GmbH and 3 other operators.
The distance between Berlin and Olten is 697 km. The road distance is 939 km.
Deutsche Bahn Intercity (DB IC) operates a train from Berlin Hbf to Basel SBB every 4 hours. Tickets cost CHF 150–370 and the journey takes 7h 17m. Österreichische Bundesbahnen also services this route twice daily.