The cheapest and fastest trains from Frankfurt am Main to Heidelberg
Cheapest price
£8
Average price
£25
Fastest journey
52 m
Average duration
53 m
Trains per day
73
Distance
79 km
The best way to find a cheap train ticket from Frankfurt am Main to Heidelberg is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Frankfurt am Main to Heidelberg will cost around £25 if you buy it on the day, but you can find cheap train tickets today for only £8.
Of the 73 trains that leave Frankfurt am Main for Heidelberg every day 23 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct trains cover the 79 km distance in an average of 53 m but if you time it right, some trains will get you there in just 52 m .
The slowest trains will take 54 m and usually involve a change or two along the way, but you might be able to save a few pennies if you’re on a budget.
ICE 619
ICE 619
ICE 699
ICE 699
ICE 1671
ICE 699
ICE 515 · S3
ICE 919 · S3
ICE 611 · S3
ICE 913 · S3Travel Information
Compare train and coach for Frankfurt am Main to Heidelberg
Omio recommends booking the train as it is the most popular option from Frankfurt am Main to Heidelberg among Omio's users. If you are prioritising price take the coach with prices starting from £5. For those with little time consider booking a train which can get you there in 57m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.0 - 0.1kg. The ticket price range depends on the travel mode: a coach costs an average of £5, and a train costs an average of £5.
Distance: 79 km
Compare train with
Most popular Train | Coach |
|---|---|
£11 Average Price | £8 Average Price Cheapest |
1h 27m Average total duration Fastest 57m Onboard + 30m Additional time* | 1h 46m Average total duration 1h 16m Onboard + 30m Additional time* |
0.0 - 0.1kg CO2 emissions Lowest | 0.1 - 0.2kg CO2 emissions |
![]() Most popular train company | ![]() Most popular bus company |
Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Live departures
Frankfurt am Main to Heidelberg train times
The table below shows live departures for Frankfurt am Main to Heidelberg trains for today, Friday 16 January. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
ICE 591 · S1 | Delayed 06:52 06:50Frankfurt (Main) Hbf | 1h03 | 07:53 Heidelberg Hbf | 1 change | |
ICE 101 · S1 | 06:51 Frankfurt Airport long-distance station | 1h02 | 07:53 Heidelberg Hbf | 1 change | |
ICE 101 · 19265 | 06:51 Frankfurt Airport long-distance station | 0h57 | 07:48 Heidelberg Hbf | 1 change | |
ECE 151 · 19265 | 07:02 Frankfurt (Main) Hbf | 0h46 | 07:48 Heidelberg Hbf | 1 change | |
ICE 2919 | 07:10 Frankfurt (Main) Hbf | 1h01 | 08:11 Heidelberg Hbf | 0 changesdirect | |
4559 · S3 | 07:20 Frankfurt (Main) Hbf | 1h25 | 08:45 Heidelberg Hbf | 1 change | |
ICE 913 · S3 | Delayed 07:53 07:22Frankfurt Airport long-distance station | 1h23 | 08:45 Heidelberg Hbf | 1 change | |
ICE 913 · 4658 · 15309 | Delayed 07:53 07:22Frankfurt Airport long-distance station | 1h17 | 08:39 Heidelberg Hbf | 2 changes | |
ICE 913 · S3 | Delayed 07:53 07:22Frankfurt Airport long-distance station | 0h54 | 08:16 Heidelberg Hbf | 1 change | |
ICE 513 · S3 | Delayed 07:59 07:51Frankfurt Airport long-distance station | 0h54 | 08:45 Heidelberg Hbf | 1 change | |
ICE 513 · S1 | Delayed 07:59 07:51Frankfurt Airport long-distance station | 1h03 | 08:54 Heidelberg Hbf | 1 change | |
15311 | 08:06 Frankfurt (Main) Hbf | 1h26 | 09:32 Heidelberg Hbf | 0 changesdirect | |
ICE 11 · ICE 1573 | Delayed 08:30 08:15Frankfurt Airport long-distance station | 1h26 | 09:41 Heidelberg Hbf | 1 change | |
ICE 573 · S2 | 08:20 Frankfurt (Main) Hbf | 1h03 | 09:23 Heidelberg Hbf | 1 change | |
ICE 1573 | On time 08:42 Frankfurt (Main) Hbf | 0h59 | 09:41 Heidelberg Hbf | 0 changesdirect | |
ICE 593 · 19269 | On time 08:50 Frankfurt (Main) Hbf | 0h58 | 09:48 Heidelberg Hbf | 1 change | |
ICE 593 · S1 | On time 08:50 Frankfurt (Main) Hbf | 1h05 | 09:55 Heidelberg Hbf | 1 change | |
ICE 103 · 19269 | 08:51 Frankfurt Airport long-distance station | 0h57 | 09:48 Heidelberg Hbf | 1 change | |
ICE 1093 | On time 09:11 Frankfurt (Main) Hbf | 1h00 | 10:11 Heidelberg Hbf | 0 changesdirect | |
ICE 915 · S3 | On time 09:22 Frankfurt Airport long-distance station | 0h54 | 10:16 Heidelberg Hbf | 1 change | |
ICE 515 · S1 | Delayed 09:57 09:51Frankfurt Airport long-distance station | 1h03 | 10:54 Heidelberg Hbf | 1 change | |
ICE 515 · S3 | Delayed 09:57 09:51Frankfurt Airport long-distance station | 0h53 | 10:44 Heidelberg Hbf | 1 change | |
ICE 219 | 10:00 Frankfurt Airport long-distance station | 1h04 | 11:04 Heidelberg Hbf | 0 changesdirect | |
ICE 795 | On time 10:44 Frankfurt South station | 0h57 | 11:41 Heidelberg Hbf | 0 changesdirect | |
ICE 595 · S1 | Delayed 10:51 10:50Frankfurt (Main) Hbf | 1h04 | 11:54 Heidelberg Hbf | 1 change | |
ICE 595 · 19273 | Delayed 10:51 10:50Frankfurt (Main) Hbf | 0h58 | 11:48 Heidelberg Hbf | 1 change | |
ICE 105 · S1 | Delayed 10:59 10:51Frankfurt Airport long-distance station | 1h03 | 11:54 Heidelberg Hbf | 1 change | |
ICE 105 · 19273 | Delayed 10:59 10:51Frankfurt Airport long-distance station | 0h57 | 11:48 Heidelberg Hbf | 1 change | |
FlixTrain | 11:03 Frankfurt South station | 0h54 | 11:57 Heidelberg Hbf | 0 changesdirect | |
ICE 1991 | 11:11 Frankfurt (Main) Hbf | 1h00 | 12:11 Heidelberg Hbf | 0 changesdirect | |
ECE 5 · S2 | 11:20 Frankfurt (Main) Hbf | 1h03 | 12:23 Heidelberg Hbf | 1 change | |
ICE 225 · S3 | On time 11:21 Frankfurt Airport long-distance station | 0h55 | 12:16 Heidelberg Hbf | 1 change | |
ICE 517 · S3 | Delayed 11:59 11:51Frankfurt Airport long-distance station | 0h54 | 12:45 Heidelberg Hbf | 1 change | |
ICE 517 · IC 2013 | Delayed 11:59 11:51Frankfurt Airport long-distance station | 1h03 | 12:54 Heidelberg Hbf | 1 change | |
ICE 1577 | On time 12:42 Frankfurt (Main) Hbf | 0h59 | 13:41 Heidelberg Hbf | 0 changesdirect | |
ICE 597 · 19277 | On time 12:50 Frankfurt (Main) Hbf | 0h58 | 13:48 Heidelberg Hbf | 1 change | |
ICE 107 · 19277 | On time 12:51 Frankfurt Airport long-distance station | 0h57 | 13:48 Heidelberg Hbf | 1 change | |
ICE 1095 | On time 13:11 Frankfurt (Main) Hbf | 1h00 | 14:11 Heidelberg Hbf | 0 changesdirect | |
ICE 73 · S2 | 13:20 Frankfurt (Main) Hbf | 1h03 | 14:23 Heidelberg Hbf | 1 change | |
ICE 919 · S3 | On time 13:22 Frankfurt Airport long-distance station | 0h54 | 14:16 Heidelberg Hbf | 1 change | |
ICE 373 · 19279 | 13:50 Frankfurt (Main) Hbf | 0h58 | 14:48 Heidelberg Hbf | 1 change | |
ICE 519 · S3 | On time 13:51 Frankfurt Airport long-distance station | 0h55 | 14:46 Heidelberg Hbf | 1 change | |
ICE 799 | On time 14:44 Frankfurt South station | 0h57 | 15:41 Heidelberg Hbf | 0 changesdirect | |
ICE 599 · 19281 | On time 14:50 Frankfurt (Main) Hbf | 0h58 | 15:48 Heidelberg Hbf | 1 change | |
ICE 109 · 19281 | On time 14:51 Frankfurt Airport long-distance station | 0h57 | 15:48 Heidelberg Hbf | 1 change | |
FlixTrain | 15:03 Frankfurt South station | 0h54 | 15:57 Heidelberg Hbf | 0 changesdirect | |
ICE 1291 | On time 15:10 Frankfurt (Main) Hbf | 1h01 | 16:11 Heidelberg Hbf | 0 changesdirect | |
ICE 7 · S2 | 15:20 Frankfurt (Main) Hbf | 1h03 | 16:23 Heidelberg Hbf | 1 change | |
ICE 1011 · S3 | On time 15:22 Frankfurt Airport long-distance station | 0h54 | 16:16 Heidelberg Hbf | 1 change | |
ICE 611 · S3 | 15:51 Frankfurt Airport long-distance station | 0h54 | 16:45 Heidelberg Hbf | 1 change | |
ICE 1671 | 16:41 Frankfurt (Main) Hbf | 1h00 | 17:41 Heidelberg Hbf | 0 changesdirect | |
ICE 2947 · 19245 | On time 16:50 Frankfurt (Main) Hbf | 0h58 | 17:48 Heidelberg Hbf | 1 change | |
ICE 691 · 19245 | 16:50 Frankfurt (Main) Hbf | 0h58 | 17:48 Heidelberg Hbf | 1 change | |
ICE 201 · 19245 | On time 16:51 Frankfurt Airport long-distance station | 0h57 | 17:48 Heidelberg Hbf | 1 change | |
ICE 1097 | On time 17:11 Frankfurt (Main) Hbf | 1h00 | 18:11 Heidelberg Hbf | 0 changesdirect | |
ICE 75 · S2 | 17:20 Frankfurt (Main) Hbf | 1h03 | 18:23 Heidelberg Hbf | 1 change | |
ICE 1013 · S3 | On time 17:22 Frankfurt Airport long-distance station | 0h54 | 18:16 Heidelberg Hbf | 1 change | |
ICE 613 · S3 | 17:51 Frankfurt Airport long-distance station | 0h54 | 18:45 Heidelberg Hbf | 1 change | |
ICE 995 | On time 18:44 Frankfurt South station | 0h57 | 19:41 Heidelberg Hbf | 0 changesdirect | |
ICE 693 · 19249 | 18:50 Frankfurt (Main) Hbf | 0h59 | 19:49 Heidelberg Hbf | 1 change | |
ICE 203 · 19249 | 18:51 Frankfurt Airport long-distance station | 0h58 | 19:49 Heidelberg Hbf | 1 change | |
ICE 1099 | On time 19:10 Frankfurt (Main) Hbf | 1h01 | 20:11 Heidelberg Hbf | 0 changesdirect | |
ECE 9 · S2 | On time 19:20 Frankfurt (Main) Hbf | 1h03 | 20:23 Heidelberg Hbf | 1 change | |
ICE 1015 · S2 | On time 19:22 Frankfurt Airport long-distance station | 1h01 | 20:23 Heidelberg Hbf | 1 change | |
ICE 615 · ICE 1640 | 19:51 Frankfurt Airport long-distance station | 1h01 | 20:52 Heidelberg Hbf | 1 change | |
ICE 695 · S3 | On time 20:50 Frankfurt (Main) Hbf | 1h02 | 21:52 Heidelberg Hbf | 1 change | |
ICE 205 · S3 | 20:51 Frankfurt Airport long-distance station | 1h01 | 21:52 Heidelberg Hbf | 1 change | |
FlixTrain | 21:03 Frankfurt South station | 0h52 | 21:55 Heidelberg Hbf | 0 changesdirect | |
ICE 77 · S3 | 21:13 Frankfurt South station | 1h09 | 22:22 Heidelberg Hbf | 1 change | |
4587 · S3 | 21:20 Frankfurt (Main) Hbf | 1h34 | 22:54 Heidelberg Hbf | 1 change | |
S6 · 15339 | 21:47 Frankfurt (Main) Hbf | 1h46 | 23:33 Heidelberg Hbf | 1 change | |
ICE 617 · S3 | 21:51 Frankfurt Airport long-distance station | 1h03 | 22:54 Heidelberg Hbf | 1 change | |
ICE 677 · 19255 | On time 22:14 Frankfurt South station | 1h08 | 23:22 Heidelberg Hbf | 1 change | |
ICE 319 · ICE 777 | On time 22:32 Frankfurt Airport long-distance station | 1h26 | 23:58 Heidelberg Hbf | 1 change | |
ICE 619 | 23:55 Frankfurt Airport long-distance station | 1h22 | 01:17 Heidelberg Hbf | 0 changesdirect | |
ICE 619 | 00:17 Frankfurt (Main) Hbf | 1h00 | 01:17 Heidelberg Hbf | 0 changesdirect | |
S8 · S6 · 15343 | 00:30 Frankfurt am Main Flughafen | 2h01 | 02:31 Heidelberg Hbf | 2 changes | |
S6 · 15343 | 00:47 Frankfurt (Main) Hbf | 1h44 | 02:31 Heidelberg Hbf | 1 change | |
ICE 699 | 01:25 Frankfurt (Main) Hbf | 1h13 | 02:38 Heidelberg Hbf | 0 changesdirect | |
ICE 699 | 01:46 Frankfurt Airport long-distance station | 0h52 | 02:38 Heidelberg Hbf | 0 changesdirect | |
S6 · IC 60471 | Delayed 02:47 Frankfurt (Main) Hbf | 1h45 | 04:32 04:32Heidelberg Hbf | 1 change | |
15307 | 06:06 Frankfurt (Main) Hbf | 1h26 | 07:32 Heidelberg Hbf | 0 changesdirect | |
ICE 791 | On time 06:43 Frankfurt South station | 0h58 | 07:41 Heidelberg Hbf | 0 changesdirect | |
ICE 591 · S1 | On time 06:50 Frankfurt (Main) Hbf | 1h03 | 07:53 Heidelberg Hbf | 1 change | |
This is the last train of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Frankfurt am Main to Heidelberg by train or coach
Compare train and coach prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
16 Jan
17 Jan
18 Jan
19 Jan
20 Jan
21 Jan
22 Jan
23 Jan
24 Jan
25 Jan
26 Jan
27 Jan
28 Jan
29 Jan
30 Jan
31 Jan
01 Feb
02 Feb
03 Feb
04 Feb
05 Feb
How far in advance should I book train tickets from Frankfurt am Main to Heidelberg?
ReviewsReviews for the rail journey from Frankfurt am Main to Heidelberg

Journey information
Overview: Train from Frankfurt am Main to Heidelberg
Trains from Frankfurt am Main to Heidelberg run on average 14 times per day, taking around 57m. Cheap train tickets for this journey start at £5 if you book in advance.
There are 5 trains per day. The earliest train runs at 00:01, the last at 23:57. The fastest train covers the 79 km distance in 50m.
Distance 79 km |
Average train duration 57m |
Cheapest ticket price £5 |
Trains per day 14 |
Direct trains 5 |
Fastest train 50m |
First train 00:01 |
Last train 23:57 |
Train companies: Deutsche Bahn, FlixTrain, TGV from Frankfurt am Main to Heidelberg trainsDeutsche Bahn, FlixTrain, TGV trains will get you between Frankfurt am Main and Heidelberg from £5. With over 1000 travel companies on Omio, you can find the best train times and tickets for your trip.
Deutsche Bahn
A Bordrestaurant (restaurant car) where you can sit and eat.
A Bordbistro (bistro bar) with snacks, hot meals, and drinks to-go.
At-seat service in 1st class: staff will take your order and serve food/drinks directly to your seat.
Regional trains (RE / RB / S-Bahn):
No onboard catering.
You’re welcome to bring your own food and drinks.
Not included by default.
You can add a seat reservation when booking (recommended for busy routes).
Costs around €4.90 per seat (or €5.90 if booked separately later).
First Class:
Yes, always included in the ticket price.
Allowed for free if they can fit in a transport box (max. size: hand luggage).
Must stay in the box for the entire journey.
Large dogs:
Require a separate (paid) ticket — typically half the price of a regular second-class ticket.
Must be leashed and wear a muzzle while on the train.
Cannot sit on seats.
Assistance dogs:
Travel free of charge.
Do not need a muzzle or leash if medically not required.
Allowed to accompany the passenger at all times.
FlixTrain
TGV
FAQs: Frankfurt am Main to Heidelberg train
Find answers to the most common questions about traveling from Frankfurt am Main to Heidelberg by train. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest train, the cheapest option, or tips for making the most of your visit at Heidelberg, this guide helps you travel smarter and with confidence.

popular train stations
Important Stations and Airports in Frankfurt am Main and Heidelberg
- Mon - Fri: 07:00 - 21:00
- Sat - Sun: 09:00 - 21:00
- Free Wi-Fi in the station.
- Luggage lockers are located in the main hall.
- asiagourmet
- Burger King
- Ciao Bella
- Coffee Fellows
- Crepes de France Express
- dean&david
- Starbucks
- Uddin's Sky Sportsbar
- McDonald's
- Dunkin Donuts
- & many more
- Step-free access and step markings. Contact the Mobility Service Centre at +49 3065212888 or [email protected].
- Hotel Cristall
- Grand Hotel Empire
- Hotel Carlton
- Located opposite Platforms 12 and 13.
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- The car park is open 24/7, accessible via Terminal 1 and Terminal 2 parking areas.
- Restaurant Käfer's
- McDonald's
- Asia Snack Box
- Outside the main entrance.
- Elevators, ramps.
- €1
- Sheraton Frankfurt Airport Hotel
- Hilton Frankfurt Airport
- Hilton Garden Inn Frankfurt Airport
- Cost €6
- Located in the main hall
- Located in the main hall
- Avis
- Europcar
- Hertz
- Located in the main hall
- Free
- Hall 1: main entrance, platform 1-4 for long-distance and regional trains
- Hall 2: connection to Terminal 1 of the airport
- Hall 3: connection to Terminal 2 of the airport
- S-Bahn: Lines S8, S9
- Bus: Several lines available
- Long-distance buses: Available at the airport
- Merals Imbiss
- Bootshaus am Eisernen Steg
- Freigut
- Holbein's
- Hotel am Berg
- Leonardo Royal Hotel Frankfurt
- Hotel Ritter
- Lindner Main Plaza
- Monday: 07:00 - 20:00
- Tuesday: 07:00 - 20:00
- Wednesday: 07:00 - 20:00
- Thursday: 07:00 - 20:00
- Friday: 07:00 - 20:00
- Saturday: 09:00 - 19:00
- Sunday: 09:00 - 19:00
- Heid´s Grill
- McDonald's
- Uuuhmami
- Taj Mahal
- Leonardo Hotel
- Qube Hotel
- NH Heidelberg
- Krokodil
- Persepolis
- Zum Brückenaff
- 'S' Kastanie
- Choa
- Parkhotel Atlantic
- Hackteufel
- Goldener Falke
- Hotel zum Ritter St. Georg
- Restaurant Dufke
- Stettiner Klause
- Hakim's Imbiss
- KOLBEZ Cafe
- Hotel Rose
More options for your journey from Frankfurt am Main to Heidelberg
Here are some other resources that might have the information you need


