Travel Information
Compare train and bus for Amsterdam to Leeuwarden
Omio recommends booking the train as it is the most popular option from Amsterdam to Leeuwarden among Omio's users. If you are prioritising price take the bus with prices starting from $12. For those with little time consider booking a bus which can get you there in 1h 50m. The ticket price range depends on the travel mode: a bus costs an average of $12, and a train costs an average of $41.
Distance: 68 miles (111 km)
Compare train with
Most popular Train | Bus | Driving |
|---|---|---|
$44 Average price | $20 Average price Cheapest | $32 Average price (fuel + tolls) |
2h 43m Average total duration 2h 13m Onboard + 30m Additional time* | 2h 20m Average total duration Fastest 1h 50m Onboard + 30m Additional time* | 1h 42m Average total duration (door-to-door) |
![]() Most popular train company | ![]() Most popular bus company | Your own car or car rental |
Direct Options | Direct Options | Direct Options |
This is compared to other travel options from Amsterdam to Leeuwarden:
A bus is $24 (€20) less than a train for this route with tickets for a train from Amsterdam to Leeuwarden costing on average $44 (€36).
Other travel options to Leeuwarden take longer:
Train takes on average 2h 13m.
Travel optionsfrom Amsterdam to Leeuwarden
How to get from Amsterdam to Leeuwarden by train, bus or flight.
Our recommendation
The best way to travel from Amsterdam to Leeuwarden is by taking a bus because it’s the best combination of price and speed.
FlixBus7:30 PM1h50Amsterdam, Piarcoplein (Amsterdam Sloterdijk)9:20 PMDrachten, Ureterpvallaat (Vallaat)$131One-way0 transfers
Cheapest
FlixBus7:30 PM1h50Amsterdam, Piarcoplein (Amsterdam Sloterdijk)9:20 PMDrachten, Ureterpvallaat (Vallaat)$131One-way0 transfers
Fastest
FlixBus7:30 PM1h50Amsterdam, Piarcoplein (Amsterdam Sloterdijk)9:20 PMDrachten, Ureterpvallaat (Vallaat)$131One-way0 transfers
Other options
IC 2625 · IC 725 · IC 6258:08 AM2h06Amsterdam Centraal10:14 AMLeeuwarden station$411One-way2 transfers
IC 2629 · IC 729 · IC 6299:08 AM2h06Amsterdam Centraal11:14 AMLeeuwarden station$411One-way2 transfers
IC 2627 · IC 8278:38 AM2h06Amsterdam Centraal10:44 AMLeeuwarden station$411One-way1 transfer
Find 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 and bus 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.
Jun 21
Jun 22
Jun 24
Jun 25
Jun 26
Jun 30
Jul 01
Jul 02
Jul 04
Jul 06
Jul 07
Jul 09
Jul 10
Jul 11
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from Amsterdam to Leeuwarden
Travel to Leeuwarden 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 Amsterdam to Leeuwarden.

This is compared to other travel options from Amsterdam to Leeuwarden:
A bus is $24 (€20) less than a train for this route with tickets for a train from Amsterdam to Leeuwarden costing on average $44 (€36).
Other travel options to Leeuwarden take longer:
Train takes on average 2h 13m.
- Around 23 trains per day.
- Around 1 buses per day.
However, we recommend checking specific travel dates for your route between Amsterdam and Leeuwarden as scheduled services by train and bus can vary by season or day of the week.
- Trains mostly depart from Amsterdam Centraal and arrive in Leeuwarden station.
- Buses mostly depart from Amsterdam, Amstel and arrive in Leeuwarden Train Station.
- Travel with FlixBus to go to Leeuwarden by bus.
- Travel with NS International | IC Brussel, Intercity, Intercity, Deutsche Bahn, Nederlandse Spoorwegen (NS) to go to Leeuwarden by train.
- 1 direct buses per day with FlixBus.
- 1 direct trains per day with NS International | IC Brussel, Intercity, Intercity.
Travelling from Amsterdam to Leeuwarden: related information
Here are some other resources that might have the information you need

