Travel Information
Compare train, bus, and flight for Bonn to Amsterdam
Omio recommends booking the train as it is the most popular option from Bonn to Amsterdam among Omio's users. If you are prioritising price take the bus with prices starting from €9. For those with little time consider booking a flight which can get you there in 1h 33m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.1 - 0.2kg. The ticket price range depends on the travel mode: a bus costs an average of €9, and a flight costs an average of €247.
Distance: 147 miles (238 km)
Compare train with
Most popular Train | Bus | Flight |
|---|---|---|
€47 Average price | €26 Average price Cheapest | €386 Average price |
4h 10m Average total duration 3h 40m Onboard + 30m Additional time* | 6h 23m Average total duration 5h 53m Onboard + 30m Additional time* | 4h 33m Average total duration Fastest 1h 33m Onboard + 3h 0m Additional time* |
0.1 - 0.2kg CO2 emissions Lowest | 0.2 - 0.6kg CO2 emissions | 0.7 - 1.4kg CO2 emissions |
![]() Most popular train company | ![]() Most popular bus company | ![]() Most popular airline |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Travel optionsfrom Bonn to Amsterdam
How to get from Bonn to Amsterdam by train, bus or flight.
Our recommendation
The best way to travel from Bonn to Amsterdam is by taking a bus because it’s the best combination of price and speed.
(Prague -> Amsterdam)Cheapest
(Prague -> Amsterdam)Fastest
KL1798Other options
IC 2241 · 10608 · 20070 · IC 3540
10612 · 20074 · IC 3548 · IC 3046
28512 · ICE 128
FlixBus
FlixBus
FlixBus · FlixBus
ICE 27+
LH996
ICE 27+
LH1002
STR 66 · ICE 621+
LH996Find 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 31
Feb 01
Feb 02
Feb 03
Feb 04
Feb 05
Feb 06
Feb 07
Feb 08
Feb 09
Feb 10
Feb 11
Feb 12
Feb 13
Feb 14
Feb 15
Feb 16
Feb 17
Feb 18
Feb 19
Feb 20
How to get from Bonn to Amsterdam
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 Bonn to Amsterdam
Travel to Amsterdam 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 Bonn to Amsterdam.

This is compared to other travel options from Bonn to Amsterdam:
A bus is $14 (€11) less than a train for this route with tickets for a train from Bonn to Amsterdam costing on average $25 (€20).
A bus is $300 (€238) less than a flight for this route with tickets for a flight from Bonn to Amsterdam costing on average $312 (€247).
Other travel options to Amsterdam take longer:
Train takes on average 4h 1m.
Bus takes on average 5h 25m.
- Around 14 flights per day.
- Around 7 buses per day.
- Around 6 trains per day.
However, we recommend checking specific travel dates for your route between Bonn and Amsterdam as scheduled services by train, bus, and flight can vary by season or day of the week.
- Flights mostly depart from Dusseldorf Airport and arrive in Amsterdam Airport Schiphol.
- Trains mostly depart from Bonn Hbf and arrive in Amsterdam Centraal.
- Buses mostly depart from Bonn, Museumsmeile and arrive in Amsterdam, Piarcoplein (Amsterdam Sloterdijk).
- Travel with KLM Cityhopper, Eurowings to go to Amsterdam by flight.
- Travel with Deutsche Bahn, VIAS Rail GmbH, ÖBB Nightjet to go to Amsterdam by train.
- Travel with FlixBus, BlaBlaCar Bus, SWB Bus und Bahn to go to Amsterdam by bus.
- 3 direct flights per day with KLM Cityhopper.
- 0 direct trains per day with ÖBB Nightjet.
- 3 direct buses per day with FlixBus.
Travelling from Bonn to Amsterdam: related information
Here are some other resources that might have the information you need
