The average train between Berlin and Olten takes 8h 22m and the fastest train takes 7h 48m. 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:34 AM at night, and the last departure from Berlin is at 11:32 PM which arrives into Olten at 9:25 AM. All services require a transfer, and take on average 8h 22m. The schedules shown below are for the next available departures.

8h 5m • 1 change
Arrives next day

8h 12m • 1 change
Arrives next day

11h 7m • 1 change
Arrives next day

10h 8m • 1 change

7h 51m • 1 change

7h 48m • 1 change

7h 54m • 1 change

7h 48m • 1 change

7h 48m • 1 change

7h 54m • 1 change

7h 48m • 1 change

7h 48m • 1 change

7h 48m • 1 change

7h 54m • 1 change

7h 48m • 1 change

7h 48m • 1 change

7h 51m • 1 change

7h 48m • 1 change

7h 54m • 1 change

7h 48m • 1 change

7h 51m • 1 change

7h 48m • 1 change

7h 54m • 1 change

7h 48m • 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 22m.
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), Swiss Federal Railways (SBB CFF FFS) and 3 other operators.
The distance between Berlin and Olten is 697 km. The road distance is 881 km.
Deutsche Bahn Intercity (DB IC) operates a train from Berlin Hbf to Basel SBB every 3 hours. Tickets cost CHF 140–420 and the journey takes 7h 5m. Österreichische Bundesbahnen also services this route 4 times a day.