- Must visit
Museum of Broken Relationships
A globally known Zagreb museum presenting personal objects and stories from ended relationships. Compact, unusual, and one of the city’s most talked-about cultural stops.
Cheapest price
$111
Average price
$179
Fastest journey
16 h 22 m
Average duration
20 h 45 m
Trains per day
12
Distance
1086 km
The best way to find a cheap train ticket from Amsterdam to Zagreb is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Amsterdam to Zagreb will cost around $179 if you buy it on the day, but the cheapest tickets can be found for only $111.
It's difficult to get from Amsterdam to Zagreb without transferring at least 3 times.
IC 60403 · ICE 991 · EC 115
ICE 121 · ICE 915 · ICE 119+
D 319
IC 3079+
20043+
ICE 921 · ICE 521
IC 2981 · 32589 · 18981 · 26845
IC 3181 · IC 2981 · 32589 · 18981
ICE 121 · ICE 915 · ICE 119+
D 319
IC 3181 · IC 2981 · 32589 · 18981
IC 2981 · 32589 · 18981 · 26845
IC 3079+
20043+
ICE 921 · ICE 521
IC 777 · RE RS23 · 20235 · ICE 1541Omio recommends booking the train as it is the most popular option from Amsterdam to Zagreb among Omio's users. If you are prioritising price take the bus with prices starting from $52. For those with little time consider booking a flight which can get you there in 2h 42m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.3 - 1.0kg. The ticket price range depends on the travel mode: a bus costs an average of $52, and a flight costs an average of $148.
Distance: 674 miles (1086 km)
Most popular Train | Flight | Bus | Driving |
|---|---|---|---|
$213 Average price | $284 Average price | $106 Average price Cheapest | $184 Average price (fuel + tolls) |
18h 59m Average total duration 18h 29m Onboard + 30m Additional time* | 5h 42m Average total duration Fastest 2h 42m Onboard + 3h 0m Additional time* | 26h 3m Average total duration 25h 33m Onboard + 30m Additional time* | 14h 2m Average total duration (door-to-door) |
0.3 - 1.0kg CO2 emissions Lowest | 3.3 - 6.5kg CO2 emissions | 1.1 - 2.7kg CO2 emissions | - CO2 emissions |
![]() Most popular train company | ![]() Most popular airline | ![]() Most popular bus company | Your own car or car rental |
Direct Options | Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
This is compared to other travel options from Amsterdam to Zagreb:
A bus is $107 (€86) less than a train for this route with tickets for a train from Amsterdam to Zagreb costing on average $213 (€172).
A bus is $178 (€144) less than a flight for this route with tickets for a flight from Amsterdam to Zagreb costing on average $284 (€229).
Other travel options to Zagreb take longer:
Train takes on average 18h 29m.
Bus takes on average 25h 33m.
Tickets start at around $213 (€172) compared to roughly $184 (€149) in fuel and tolls — a saving of about $-28.47 (€-22.98). The journey takes 18h 29m versus 14h 2m by car, so you'll arrive a bit later, but you can work, read, or sleep along the way rather than spending the time behind the wheel. You'll also save the hassle of parking at the other end.
Driving is worth it if you're on a tight schedule, travelling as a group, or want to stop somewhere en route.
The table below shows live departures for Amsterdam to Zagreb trains for tomorrow, Wednesday, June 3. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
ICE 121 · ICE 915 · ICE 119+ D 319 | On time 6:38 AM Amsterdam Centraal | 16h22 | 11:00 PM Zagreb Main Station | 3 transfers | |
ICE 143 · ICE 587 · ICE 509 · RJX 261 | On time 8:00 AM Amsterdam Centraal | 25h37 | 9:37 AM Zagreb Main Station | 6 transfers | |
ICE 225 · ICE 211+ D 39+ R 7701 | On time 8:31 AM Amsterdam Centraal | 25h06 | 9:37 AM Zagreb Main Station | 3 transfers | |
IC 2729 · 20077 · ICE 627 · RJX 261 | 8:34 AM Amsterdam Centraal | 25h03 | 9:37 AM Zagreb Main Station | 6 transfers | |
IC 3227+ 20017+ ICE 627 · RJX 261 | 8:36 AM Amsterdam Zuid | 25h01 | 9:37 AM Zagreb Main Station | 6 transfers | |
IC 3129 · 32233 · 20077 · ICE 627 | 8:45 AM Amsterdam Zuid | 24h52 | 9:37 AM Zagreb Main Station | 7 transfers | |
IC 3529 · 20077 · ICE 627 · RJX 261 | 8:56 AM Amsterdam Zuid | 24h41 | 9:37 AM Zagreb Main Station | 6 transfers | |
This is the last train of the day. | |||||
Find all the dates and times for this journey
Compare bus, train, 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.
Trains from Amsterdam to Zagreb run on average 3 times per day, taking around 18h 29m. Cheap train tickets for this journey start at $78 (€63) but you can travel from only $52 (€42) by bus.
The earliest train runs at 05:11, the last at 23:00. The fastest train covers the 674 miles (1086 km) distance in 16h 56m.
Distance 674 miles (1086 km) |
Average train duration 18h 29m |
Cheapest ticket price $78 (€63) |
Trains per day 3 |
Fastest train 16h 56m |
First train 5:11 AM |
Last train 11:00 PM |
Cheapest Month Aug |
Cheapest Day Sat |
High Season Apr - Jun |
Low Season Jan - Mar |
Busiest Day Fri |
Least Busy Day Sun |
Best time to book 70 days |
Discover the best of Zagreb — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Zagreb trip today.
A globally known Zagreb museum presenting personal objects and stories from ended relationships. Compact, unusual, and one of the city’s most talked-about cultural stops.
A major art museum with European paintings, sculpture, decorative arts, and archaeology. Worth visiting for its broad collection in a grand historic building.
Zagreb’s leading contemporary art museum, known for Croatian and international modern works, rotating exhibitions, and a large, modern riverside building.
Zagreb’s central square and main meeting point, surrounded by historic facades, shops, and transport connections. Essential for first-time visitors.
The historic heart of Zagreb, filled with cobbled streets, government buildings, churches, and viewpoints. Best explored on foot.
A lively pedestrian street linking the center with the Upper Town area, popular for its atmosphere, historic setting, and constant foot traffic.
Baked or boiled pastry filled with fresh cheese and sour cream, one of Zagreb's signature comfort dishes from the Hrvatsko Zagorje region.
Zagreb-style breaded veal or pork schnitzel stuffed with ham and cheese, a classic hearty main dish strongly associated with the city.
Roast turkey served with mlinci, a traditional baked flatbread softened in roasting juices, widely eaten for family meals and celebrations around Zagreb.
Traditional restaurant known for Zagreb and northern Croatian specialties such as turkey with mlinci and other hearty home-style dishes.
Casual specialist near the old town focused on sweet and savory štrukli, making it one of the best-known places to try this Zagreb classic.
Established restaurant highlighting Bosnian and regional Balkan dishes, especially grilled meats and traditional cooked specialties in a rustic setting.
Moderate for Europe. Cafes and local eateries are good value, while central hotels and upscale dining cost more.
Tipping is appreciated but not mandatory. In restaurants, round up or leave about 5-10% for good service. Round up for taxis. Small tips are optional in cafes and for hotel staff.
Official public transport app
Zagreb Main Station -> Ban Jelačić Square, Zagreb
Find answers to the most common questions about traveling from Amsterdam to Zagreb 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 Zagreb, this guide helps you travel smarter and with confidence.

Here are some other resources that might have the information you need