Travel optionsfrom Geneva to Frankfurt am Main
How to get from Geneva to Frankfurt am Main by train, bus or flight.
Our recommendation
The best way to travel from Geneva to Frankfurt am Main is by taking a bus because it’s the best combination of price and speed.
FlixBusCheapest
FlixBusFastest
EN8093Other options
IC 715 · IC 1617 · ICE 72
IR 2517 · ICE 106
IR 1811 · IC 515 · IR 1861 · ICE 108
FlixBus · FlixBus
FlixBus
SN2712 · SN2611
SN5110+
SN2611
SN2722 · SN2617Find all the dates and times for this journey by train, bus, flight, and ferry .
Compare prices and tickets Prices for trains, buses and flights
Compare train, bus, and flight 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.
Jan 13
Jan 14
Jan 15
Jan 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
Feb 01
Feb 02
How to get from Geneva to Frankfurt am Main
The Best Way According to our Users
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from Geneva to Frankfurt am Main
Travel to Frankfurt am Main easily. Whether you want fast, cheap or something entirely different, our travel experts have collected everything you need to know so you can find the best option from Geneva to Frankfurt am Main.

There are 3 travel options from Geneva to Frankfurt am Main: train, bus or flight.
The cheapest way to go to Frankfurt am Main from Geneva is by taking a bus, which costs on average $32 (€29).
This is compared to other ways of getting from Geneva to Frankfurt am Main:
Taking a bus costs $87 (€78) less than taking a flight, which average ticket prices of $119 (€107).
Taking a bus costs $10 (€9) less than taking a train, which costs on average $42 (€38) for the same trip.
The fastest way to get to Frankfurt am Main from Geneva is by flight with an average travel time of 1 h 15 min.
Other travel options to Frankfurt am Main take longer:
Taking a bus requires on average 8 h 55 min of travel time.
Train takes 5 h 47 min on average.
The distance from Geneva to Frankfurt am Main is approximately 294 miles (474 km).
The average frequency per day from Geneva to Frankfurt am Main is:
- Around 8 buses per day.
- 32 flights a day.
- Around 12 trains per day.
However, we recommend checking specific travel dates for your trip to Frankfurt am Main from Geneva as scheduled services by train, bus or flight can vary by season or day of the week.
These are the most popular departure and arrival points when traveling from Geneva to Frankfurt am Main:
- Most travelers board their plane from Geneva International Airport and arrive in Frankfurt am Main Airport.
The following travel companies offer services from Geneva to Frankfurt am Main:
- Travel with FlixBus or BlaBlaCar Bus to go to Frankfurt am Main by bus. For a good deal on tickets, you can find FlixBus Geneva to Frankfurt am Main tickets on Omio for $32 (€29).
- Travel with Lufthansa Cityline (2), SWISS, KLM, CityJet, Lufthansa, KLM Cityhopper, Air France or Brussels Airlines for flights to Frankfurt am Main. If you’re looking for a good deal on tickets, check for KLM Cityhopper Geneva to Frankfurt am Main tickets on Omio for $119 (€107).
- Travel with Deutsche Bahn or Swiss Railways (SBB/CFF/FFS) for trains to Frankfurt am Main. If you’re looking for a good deal on tickets, check for Deutsche Bahn Geneva to Frankfurt am Main tickets on Omio for $42 (€38).
Yes, there are direct routes from Geneva to Frankfurt am Main with the following travel companies:
- You can find 2 direct buses per day to take to Frankfurt am Main with FlixBus.
- You can find 7 direct flights per day to take to Frankfurt am Main with CityJet.
Direct services to Frankfurt am Main tend to save you time and add more convenience as you won't need to transfer at another stop in between, so it's worth paying attention to before booking tickets for your route.
Travelling from Geneva to Frankfurt am Main: related information
Here are some other resources that might have the information you need
