There are 9 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 49m€62–204Train, bus via Barcelona
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Santstrain Ave
- Take the train from Barcelona-Sants to Valence Tgv Rhone-Alpes Sudtrain Tgv
- Take the train from Valence Tgv Rhone-Alpes Sud to Chambery Challes Les Eauxtrain Ter
- Take the bus from Chambéry - Bus Station to Zagreb - Bus Stationbus
27h 1m€234–587Train
- 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 Mulhouse Villetrain Tgv
- Take the train from Mulhouse Ville to Zuerich Hbtrain Tgv
- Take the train from Zuerich Hb to Graz Hbftrain Ec
- Take the train from Graz Hbf to Zagreb Glavni Kol.train Ec
31h 47m€543–1,357Drive 2,075.5 km
- Drive from Madrid to Zagrebcar 2,075.5 km
22h€329–475Fly 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 36m€119–782Fly 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
9h 54m€411–992Train, 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€246–400Bus 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,691Bus
- 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
Questions & Answers
The cheapest way to get from Madrid to Zagreb is to fly which costs €60 - €210 and takes 5h 49m.
The fastest way to get from Madrid to Zagreb is to fly which takes 5h 49m and costs €60 - €210.
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, Mulhouse Ville, Zuerich Hb and Graz Hbf. The journey, including transfers, takes approximately 31h 47m.
The distance between Madrid and Zagreb is 1718 km. The road distance is 2075.5 km.
The best way to get from Madrid to Zagreb without a car is to train and bus via Barcelona which takes 27h 1m and costs €230 - €600.
It takes approximately 5h 49m 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 49m and costs €60 - €210. Alternatively, you can train, which costs €500 - €1400 and takes 31h 47m, you could also bus via Maribor, which costs €280 - €1700 and takes 33h 51m.
What companies run services between Madrid, Spain and Zagreb, Croatia?
Iberia, Croatia Airlines, and three other airlines fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Zagreb Franjo Tuđman Airport (ZAG) 5 times a day. Alternatively, you can take a train from Madrid-Puerta de Atocha-Almudena Grandes to Zagreb Glavni Kol. via Barcelona-Sants, Lyon Part Dieu, Mulhouse Ville, Zuerich Hb, and Graz Hbf in around 31h 47m.
- Website
- lufthansa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Zagreb Franjo Tuđman Airport via Munich
- Ave. Duration
- 5h 18m
- When
- Every day
- Estimated price
- €80–360
Flights from Adolfo Suárez Madrid–Barajas Airport to Ljubljana via Munich
- Ave. Duration
- 4h 30m
- When
- Monday, Tuesday, Friday, and Sunday
- Estimated price
- €90–420
Flights from Adolfo Suárez Madrid–Barajas Airport to Ljubljana via Frankfurt
- Ave. Duration
- 4h 45m
- When
- Every day
- Estimated price
- €110–190
Flights from Adolfo Suárez Madrid–Barajas Airport to Graz Airport via Munich
- Ave. Duration
- 4h 57m
- When
- Every day
- Estimated price
- €110–500
Flights from Adolfo Suárez Madrid–Barajas Airport to Graz Airport via Frankfurt
- Ave. Duration
- 5h 23m
- When
- Every day
- Estimated price
- €150–500
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Zagreb Franjo Tuđman Airport
- Ave. Duration
- 2h 45m
- When
- Every day
- Estimated price
- €60–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Ljubljana
- Ave. Duration
- 2h 45m
- When
- Tuesday and Saturday
- Estimated price
- €75–160
- Website
- ryanair.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Zagreb Franjo Tuđman Airport via Palma Mallorca
- Ave. Duration
- 5h 30m
- When
- Wednesday to Saturday
- Estimated price
- €55–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Zagreb Franjo Tuđman Airport via Milan Bergamo
- Ave. Duration
- 5h 30m
- When
- Wednesday, Friday, and Saturday
- Estimated price
- €55–160
- Website
- airfrance.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Ljubljana via Paris Charles de Gaulle
- Ave. Duration
- 5h 37m
- When
- Every day
- Estimated price
- €100–440
- Website
- croatiaairlines.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Zagreb Franjo Tuđman Airport
- Ave. Duration
- 2h 40m
- When
- Monday, Thursday, and Saturday
- Estimated price
- €110–600
- Website
- transavia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Ljubljana via Paris Orly
- Ave. Duration
- 6h 30m
- When
- Tuesday and Saturday
- Estimated price
- €95–440
- Website
- swiss.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Graz Airport via Zurich
- Ave. Duration
- 7h 45m
- When
- Thursday
- Estimated price
- €120–450
- Website
- eurowings.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Graz Airport via Palma Mallorca
- Ave. Duration
- 4h 30m
- When
- Thursday and Sunday
- Estimated price
- €170–260
Rome2Rio's guide to Renfe AVE
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 22m
- Frequency
- Every 30 minutes
- Estimated price
- €95–170
- Website
- https://www.renfe.com/es/en
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 22m
- Frequency
- Every 30 minutes
- Estimated price
- €95–170
- Website
- https://www.renfe.com/es/en
- Phone
- +34 900 926 851
- [email protected]
- Website
- iryo.eu
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 31m
- Frequency
- Hourly
- Estimated price
- €60–130
- Website
- https://iryo.eu/en/home
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 31m
- Frequency
- Hourly
- Estimated price
- €60–130
- Website
- https://iryo.eu/en/home
- Phone
- +34 900 759 781
- Website
- ouigo.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 23m
- Frequency
- Every 2 hours
- Estimated price
- €55–100
- Website
- https://www.ouigo.com/es/en
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 23m
- Frequency
- Every 2 hours
- Estimated price
- €55–100
- Website
- https://www.ouigo.com/es/en
Rome2Rio's guide to Renfe Viajeros
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 29m
- Frequency
- 4 times a day
- Estimated price
- €75–120
- Website
- https://www.renfe.com/es/en
Train from Barcelona-Sants to Valence Tgv Rhone-Alpes Sud
- Ave. Duration
- 4h 29m
- Frequency
- Twice daily
- Estimated price
- €65–110
- Website
- https://www.renfe.com/es/en
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 29m
- Frequency
- 4 times a day
- Estimated price
- €75–120
- Website
- https://www.renfe.com/es/en
Train from Barcelona-Sants to Lyon Part Dieu
- Ave. Duration
- 5h 6m
- Frequency
- Twice daily
- Estimated price
- €80–130
- Website
- https://www.renfe.com/es/en
Train from Madrid-Puerta de Atocha-Almudena Grandes to Marseille St Charles
- Ave. Duration
- 8h 42m
- Frequency
- Twice daily
- Estimated price
- €140–220
- Website
- https://www.renfe.com/es/en
- Phone
- +33 1 84 94 36 35
- Website
- sncf-connect.com
Train from Barcelona-Sants to Valence Tgv Rhone-Alpes Sud
- Ave. Duration
- 4h 26m
- Frequency
- 5 times a day
- Estimated price
- €110–180
- Website
- https://www.sncf-connect.com/en-en
Train from Lyon Part Dieu to Mulhouse Ville
- Ave. Duration
- 3h 8m
- Frequency
- Hourly
- Estimated price
- €80–130
- Website
- https://www.sncf-connect.com/en-en
Train from Mulhouse Ville to Zuerich Hb
- Ave. Duration
- 1h 21m
- Frequency
- Every 3 hours
- Estimated price
- €25–40
- Website
- https://www.sncf-connect.com/en-en
- Phone
- +33 1 84 94 36 35
- Website
- track.effiliation.com
Train from Valence Tgv Rhone-Alpes Sud to Chambery Challes Les Eaux
- Ave. Duration
- 1h 56m
- Frequency
- Hourly
- Estimated price
- €26–55
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
- Phone
- +33 4 13 94 30 50
- Website
- zou.maregionsud.fr
Train from Valence Tgv Rhone-Alpes Sud to Chambery Challes Les Eaux
- Ave. Duration
- 1h 56m
- Frequency
- Every 2 hours
- Estimated price
- €40–80
- Website
- https://zou.maregionsud.fr/en/
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Zuerich Hb to Graz Hbf
- Ave. Duration
- 10h 11m
- Frequency
- Twice daily
- Estimated price
- €250–800
- Website
- https://www.sbb.ch/en
- Phone
- +43 (0) 5 1717
- Website
- oebb.at
Train from Graz Hbf to Zagreb Glavni Kol.
- Ave. Duration
- 3h 52m
- Frequency
- Twice daily
- Estimated price
- €50–90
- Website
- https://www.oebb.at/en/reiseplanung-services/im-zug/unsere-zuege/eurocity-intercity
- Website
- https://shop.oebbtickets.at/en/ticket
- Phone
- +3 318 576 2228
- Website
- blablacar.co.uk
Bus from Chambéry - Bus Station to Zagreb - Bus Station
- Ave. Duration
- 15h
- Frequency
- Twice daily
- Estimated price
- €85–160
- Website
- https://www.blablacar.co.uk/bus
- Phone
- +386 1 320 4530
- [email protected]
- Website
- goopti.com
Shuttle from Zgornji Brnik, Letališče Jožeta Pučnika Ljubljana to Zagreb
- Ave. Duration
- 2h 6m
- Frequency
- On demand
- Estimated price
- €28–550
- Website
- https://www.goopti.com/en/
- Shared
- €28–75
- Private
- €140–180
Shuttle from Graz Airport to Zagreb
- Ave. Duration
- 2h 49m
- Frequency
- On demand
- Estimated price
- €240–650
- Website
- https://www.goopti.com/en/
- Private
- €278
Bus from Padova to Edvard Rusjan Airport
- Ave. Duration
- 3h 53m
- Frequency
- On demand
- Estimated price
- €111–1,200
- Website
- https://www.goopti.com/en/
- Shared
- €111
- Private
- €411
Bus from Edvard Rusjan Airport to Zagreb
- Ave. Duration
- 1h 24m
- Frequency
- On demand
- Estimated price
- €45–340
- Website
- https://www.goopti.com/en/
- Private
- €130
- Shared
- €45–70
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- https://www.flixbus.fr
Bus from Marseille, Gare de Marseille-Saint-Charles to Zagreb
- Ave. Duration
- 18h 40m
- Frequency
- Once daily
- Estimated price
- €100–180
- Website
- https://www.flixbus.co.uk
- 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
More Questions & Answers
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 2076 km. It takes approximately 22h 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 3007+ hotels available in Zagreb.













































