The average train between Bern and Heidelberg takes 4h 10m and the fastest train takes 3h 42m. There is a train service every few hours from Bern to Heidelberg. 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 Bern and Heidelberg. The earliest departure is at 6:04 AM in the morning, and the last departure from Bern is at 10:36 PM which arrives into Heidelberg at 7:30 AM. All services require a transfer at Basel SBB and take an average of 4h 10m. The schedules shown below are for the next available departures.


3h 47m • 2 changes


3h 43m • 2 changes


3h 45m • 2 changes


3h 42m • 2 changes


3h 45m • 2 changes


4h 18m • 2 changes


3h 43m • 2 changes


4h 19m • 2 changes


3h 45m • 2 changes


4h 18m • 2 changes


3h 43m • 2 changes


4h 19m • 2 changes


3h 45m • 2 changes


4h 18m • 2 changes


3h 43m • 2 changes


4h 19m • 2 changes
Want to know about travelling from Bern to Heidelberg? 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 Bern to Heidelberg. However, there are services departing from Bern station and arriving at Heidelberg station via Basel SBB. The journey, including transfers, takes approximately 4h 10m.
Bern to Heidelberg train services, operated by Swiss Federal Railways (SBB CFF FFS), depart from Bern station.
Bern to Heidelberg train services, operated by Swiss Federal Railways (SBB CFF FFS), arrive at Heidelberg, Hauptbahnhof station.
Book your Bern to Heidelberg train tickets online with Swiss Federal Railways (SBB CFF FFS), Deutsche Bahn Intercity (DB IC) and Deutsche Bahn Regio (DB Regional).
The distance between Bern and Heidelberg is 288.6 km. The road distance is 347 km.
You can take a train from Bern to Heidelberg, Hauptbahnhof via Basel SBB and Karlsruhe Hauptbahnhof in around 4h 5m.