There are 8 ways to get from Madrid to Zagreb by plane, train, bus, train (Renfe, Ouigo, TGV), car, or shuttle
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly to Zagreb Franjo Tuđman Airport
best- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Zagreb Franjo Tuđman Airport (ZAG)plane MAD - ZAG
5h 54m€67–243Train, bus
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Marseille St Charlestrain 9725
- Take the bus from Marseille, Gare de Marseille-Saint-Charles to Zagrebbus N482
28h 22m€245–367Train
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Santstrain Ave
- Take the train from Barcelona-Sants to Lyon Part Dieutrain
- Take the train from Lyon Part Dieu to Mannheim Hbftrain Tgv
- Take the train from Mannheim, Hauptbahnhof to Salzburg Hauptbahnhoftrain 62
- Take the train from Salzburg Hbf to Villach Hbftrain Ic
- Take the train from Villach Hbf to Zagreb Glavni Kol.train 319
29h 55m€391–817Drive 2,074.4 km
- Drive from Madrid to Zagrebcar 2,074.4 km
22h 4m€340–490Fly to Ljubljana, shuttle
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Ljubljana (LJU)plane MAD - LJU
- Take a shuttle bus from Zgornji Brnik, Letališče Jožeta Pučnika Ljubljana to Zagreb
7h 31m€124–581Fly to Graz Airport, shuttle
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Graz Airport (GRZ)plane MAD - GRZ
- Take a shuttle bus from Graz Airport to Zagreb
10h 14m€431–841Bus via Maribor
- Take the bus from Méndez Álvaro Estación Sur to Padovabus
- Take the bus from Padova to Edvard Rusjan Airportbus
- Take the bus from Edvard Rusjan Airport to Zagrebbus
33h 51m€281–1,181Bus
- Take the bus from Méndez Álvaro Estación Sur to Padovabus
- Take the bus from Padova to Zagrebbus
36h 4m
Madrid to Zagreb by train and bus
Comparing Your Travel Options
The cheapest way to get from Madrid to Zagreb is to fly which costs €65 - €250 and takes 5h 54m.
The fastest way to get from Madrid to Zagreb is to fly which takes 5h 54m and costs €65 - €250.
No, there is no direct bus from Madrid to Zagreb. However, there are services departing from Méndez Álvaro Estación Sur and arriving at Zagreb via Padova and Edvard Rusjan Airport. The journey, including transfers, takes approximately 33h 51m.
No, there is no direct train from Madrid to Zagreb. However, there are services departing from Madrid-Puerta de Atocha-Almudena Grandes and arriving at Zagreb Glavni Kol. via Barcelona-Sants, Lyon Part Dieu, Mannheim, Hauptbahnhof, Salzburg Hbf and Villach Hbf. The journey, including transfers, takes approximately 29h 55m.
The distance between Madrid and Zagreb is 1718 km. The road distance is 2074.4 km.
The best way to get from Madrid to Zagreb without a car is to train and bus which takes 28h 22m and costs €240 - €370.
It takes approximately 5h 54m to get from Madrid to Zagreb, including transfers.
Madrid to Zagreb bus services, operated by Tabita Tour, depart from Méndez Álvaro Estación Sur station.
Madrid to Zagreb train services, operated by Renfe AVE, depart from Madrid-Puerta de Atocha-Almudena Grandes station.
The best way to get from Madrid to Zagreb is to fly which takes 5h 54m and costs €65 - €250. Alternatively, you can train, which costs €390 - €850 and takes 29h 55m, you could also bus via Maribor, which costs €280 - €1200 and takes 33h 51m.
What companies run services between Madrid, Spain and Zagreb, Croatia?
Iberia, Croatia Airlines, and four other airlines fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Zagreb Franjo Tuđman Airport (ZAG) twice daily. Alternatively, you can take a train from Madrid-Puerta de Atocha-Almudena Grandes to Zagreb Glavni Kol. via Barcelona-Sants, Lyon Part Dieu, Mannheim Hbf, Mannheim, Hauptbahnhof, Salzburg Hauptbahnhof, Salzburg Hbf, and Villach Hbf in around 29h 55m.
- Website
- lufthansa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Zagreb Franjo Tuđman Airport via Munich
- Ave. Duration
- 5h 32m
- When
- Every day
- Estimated price
- €70–350
Flights from Adolfo Suárez Madrid–Barajas Airport to Graz Airport via Frankfurt
- Ave. Duration
- 5h 11m
- When
- Tuesday to Saturday
- Estimated price
- €150–550
Flights from Adolfo Suárez Madrid–Barajas Airport to Graz Airport via Munich
- Ave. Duration
- 6h 32m
- When
- Tuesday, Friday, and Sunday
- Estimated price
- €110–550
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Zagreb Franjo Tuđman Airport
- Ave. Duration
- 2h 45m
- When
- Thursday
- Estimated price
- €70–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Ljubljana
- Ave. Duration
- 2h 40m
- When
- Saturday
- Estimated price
- €65–310
Flights from Adolfo Suárez Madrid–Barajas Airport to Ljubljana via Barcelona
- Ave. Duration
- 5h 40m
- When
- Thursday and Sunday
- Estimated price
- €60–260
- Website
- ryanair.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Zagreb Franjo Tuđman Airport via Palma Mallorca
- Ave. Duration
- 5h
- When
- Tuesday and Thursday
- Estimated price
- €55–210
Flights from Adolfo Suárez Madrid–Barajas Airport to Zagreb Franjo Tuđman Airport via Milan Bergamo
- Ave. Duration
- 5h 55m
- When
- Thursday
- Estimated price
- €55–210
- Website
- eurowings.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Graz Airport via Dusseldorf
- Ave. Duration
- 6h 20m
- When
- Wednesday
- Estimated price
- €280–380
Flights from Adolfo Suárez Madrid–Barajas Airport to Graz Airport via Palma Mallorca
- Ave. Duration
- 4h 40m
- When
- Tuesday, Saturday, and Sunday
- Estimated price
- €280–380
- Website
- croatiaairlines.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Zagreb Franjo Tuđman Airport
- Ave. Duration
- 2h 45m
- When
- Monday, Thursday, and Saturday
- Estimated price
- €85–220
- Website
- swiss.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Ljubljana via Zurich
- Ave. Duration
- 5h 10m
- When
- Tuesday
- Estimated price
- €85–350
- Website
- vueling.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Ljubljana via Barcelona
- Ave. Duration
- 5h 40m
- When
- Thursday and Sunday
- Estimated price
- €60–260
- Website
- airfrance.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Ljubljana via Paris Charles de Gaulle
- Ave. Duration
- 5h 40m
- When
- Monday, Wednesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €90–430
- Website
- transavia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Ljubljana via Paris Orly
- Ave. Duration
- 5h 50m
- When
- Tuesday, Thursday, and Saturday
- Estimated price
- €90–430
Rome2Rio's guide to Renfe Viajeros
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- Renfe Viajeros
Train from Madrid-Puerta de Atocha-Almudena Grandes to Marseille St Charles
- Ave. Duration
- 8h 42m
- Frequency
- Once daily
- Estimated price
- €140–210
- Website
- Renfe Viajeros
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 29m
- Frequency
- Twice daily
- Estimated price
- €75–110
- Website
- Renfe Viajeros
Train from Barcelona-Sants to Lyon Part Dieu
- Ave. Duration
- 5h 6m
- Frequency
- Once daily
- Estimated price
- €80–120
- Website
- Renfe Viajeros
Rome2Rio's guide to Renfe AVE
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- Renfe AVE
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 2m
- Frequency
- Hourly
- Estimated price
- €85–150
- Website
- Renfe AVE
- Phone
- +34 900 926 851
- [email protected]
- Website
- Iryo
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 24m
- Frequency
- Hourly
- Estimated price
- €55–100
- Website
- Iryo
- Phone
- +34 900 759 781
- Website
- Ouigo
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 23m
- Frequency
- Every 4 hours
- Estimated price
- €45–80
- Website
- Ouigo
- Phone
- +33 1 84 94 36 35
- Website
- TGV inOui
Train from Lyon Part Dieu to Mannheim Hbf
- Ave. Duration
- 5h 16m
- Frequency
- Once daily
- Estimated price
- €120–190
- Website
- TGV inOui
- Phone
- +49 30 2970
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Mannheim, Hauptbahnhof to Salzburg Hauptbahnhof
- Ave. Duration
- 5h 7m
- Frequency
- 3 times a day
- Estimated price
- €80–190
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Salzburg Hbf to Villach Hbf
- Ave. Duration
- 2h 25m
- Frequency
- 4 times a week
- Estimated price
- €30–70
- Website
- Deutsche Bahn Intercity (DB IC)
- Phone
- +43 (0) 5 1717
- Website
- ÖBB Intercity
Train from Salzburg Hbf to Villach Hbf
- Ave. Duration
- 2h 21m
- Frequency
- Every 4 hours
- Estimated price
- €19–40
- Website
- ÖBB Intercity
- Website
- ÖBB Intercity
- Phone
- _AUSTRIAN_RAILWAYS_(ÖBB)
- Website
- Austrian Railways
Train from Salzburg Hbf to Villach Hbf
- Ave. Duration
- 2h 25m
- Frequency
- 3 times a day
- Estimated price
- €35–60
- Website
- Austrian Railways
Train from Villach Hbf to Zagreb Glavni Kol.
- Ave. Duration
- 4h 22m
- Frequency
- Once daily
- Estimated price
- €45–80
- Website
- Austrian Railways
- Phone
- +43 (0) 51717
- Website
- Nightjet
Train from Salzburg Hbf to Villach Hbf
- Ave. Duration
- 2h 25m
- Frequency
- Twice daily
- Estimated price
- €20–90
- Website
- Nightjet
- Sleeper Carriage
- €80–90
- Couchette Carriage
- €50–60
- Seating Carriage
- €20–24
- Phone
- +43 (0) 5 1717
- Website
- ÖBB EuroCity
Train from Salzburg Hbf to Villach Hbf
- Ave. Duration
- 2h 25m
- Frequency
- 3 times a week
- Estimated price
- €42–48
- Website
- ÖBB EuroCity
- Website
- ÖBB EuroCity
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Marseille, Gare de Marseille-Saint-Charles to Zagreb
- Ave. Duration
- 18h 40m
- Frequency
- Once daily
- Estimated price
- €100–160
- Website
- Flixbus
- Phone
- +386 1 320 4530
- [email protected]
- Website
- GoOpti
Shuttle from Zgornji Brnik, Letališče Jožeta Pučnika Ljubljana to Zagreb
- Ave. Duration
- 2h 6m
- Frequency
- On demand
- Estimated price
- €28–340
- Website
- GoOpti
- Shared
- €28–75
- Private
- €140–180
Shuttle from Graz Airport to Zagreb
- Ave. Duration
- 2h 49m
- Frequency
- On demand
- Estimated price
- €240–410
- Website
- GoOpti
- Private
- €278
Bus from Padova to Edvard Rusjan Airport
- Ave. Duration
- 3h 53m
- Frequency
- On demand
- Estimated price
- €111–800
- Website
- GoOpti
- Shared
- €111
- Private
- €411
Bus from Edvard Rusjan Airport to Zagreb
- Ave. Duration
- 1h 24m
- Frequency
- On demand
- Estimated price
- €45–230
- Website
- GoOpti
- Private
- €130
- Shared
- €45–70
- Phone
- +4-0263-21.55.00
- Website
- tabitatour.ro
Bus from Méndez Álvaro Estación Sur to Padova
- Ave. Duration
- 27h 34m
- Frequency
- Once a week
- Estimated price
- €120–160
- Schedules at
- tabitatour.ro
Bus from Méndez Álvaro Estación Sur to Padova
- Ave. Duration
- 27h 34m
- Frequency
- Once a week
- Estimated price
- €120–160
- Schedules at
- tabitatour.ro
- Phone
- +359 2 980 56 58
- [email protected]
- Website
- mm-travel.bg
Bus from Padova to Zagreb
- Ave. Duration
- 7h 30m
- Frequency
- Once a week
- Schedules at
- mm-travel.bg
- Book at
- tickets.mm-travel.bg
Want to know more about travelling around Croatia
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
5 delightfully under-the-radar French towns you need to visit
Read the travel guide
Train travel in Spain: A guide to Renfe
Read the travel guide
What are the different types of Renfe trains in Spain?
Read the travel guide
Booking & Getting There
Madrid to Zagreb bus services, operated by Tabita Tour, arrive at Padova station.
Madrid to Zagreb train services, operated by Renfe AVE, arrive at Barcelona-Sants station.
Yes, the driving distance between Madrid to Zagreb is 2074 km. It takes approximately 22h 4m to drive from Madrid to Zagreb.
Book your Madrid to Zagreb train tickets online with Omio.
Book your Madrid to Zagreb bus tickets online with Omio.
There are 2841+ hotels available in Zagreb.

























































