The average train between Elmshorn and Heidelberg takes 7h 57m and the fastest train takes 5h 47m. The train service runs several times per day from Elmshorn 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 every 4 hours between Elmshorn and Heidelberg. The earliest departure is at 2:57 AM at night, and the last departure from Elmshorn is at 7:53 PM which arrives into Heidelberg at 8:41 AM. All services require a transfer at Hamburg Hbf and take an average of 7h 57m. The schedules shown below are for the next available departures.


7h 17m • 2 changes


7h 18m • 2 changes


6h 46m • 2 changes
Arrives next day


15h 48m • 2 changes


7h 17m • 2 changes


7h 18m • 2 changes


6h 46m • 2 changes
Arrives next day


6h 48m • 2 changes


7h 44m • 2 changes


6h 48m • 2 changes


7h 48m • 2 changes


7h 17m • 2 changes


7h 44m • 2 changes


6h 48m • 2 changes


7h 17m • 2 changes


6h 18m • 2 changes


6h 47m • 2 changes


5h 48m • 2 changes


6h 17m • 2 changes


5h 48m • 2 changes
Want to know about travelling from Elmshorn 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 Elmshorn to Heidelberg. However, there are services departing from Elmshorn station and arriving at Heidelberg station via Kassel Bahnhof Wilhelmshöhe. The journey, including transfers, takes approximately 7h 57m.
Elmshorn to Heidelberg train services, operated by Deutsche Bahn Regio (DB Regional), depart from Hamburg Hbf station.
Elmshorn to Heidelberg train services, operated by Deutsche Bahn Regio (DB Regional), arrive at Heidelberg, Hauptbahnhof station.
Book your Elmshorn to Heidelberg train tickets online with Deutsche Bahn Regio (DB Regional) and Deutsche Bahn Intercity (DB IC).
The distance between Elmshorn and Heidelberg is 487.8 km. The road distance is 640 km.
You can take a train from Elmshorn to Heidelberg, Hauptbahnhof via Hamburg Hbf and Kassel Bahnhof Wilhelmshöhe in around 6h 27m.