There are 11 ways to get from Madrid to Villach by plane, train (Renfe, Ouigo, Trenitalia), bus, car, shuttle, or train
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 Klagenfurt Airport
best- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Klagenfurt Airport (KLU)plane MAD - KLU
8h 9m€155–472Fly to Trieste – Friuli Venezia Giulia Airport, train
cheapest- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Trieste – Friuli Venezia Giulia Airport (TRS)plane MAD - TRS
- Take the train from Udine to Villach Hbftrain
10h 32m€97–256Train
- 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 Milano Centraletrain Fr
- Take the train from Milano Centrale to Venezia Mestretrain Fr
- Take the train from Venezia Mestre to Villach Hbftrain Rjx
21h 38m€265–538Bus via Milan
- Take the bus from Madrid to Milanbus FlixBus N1138
- Take the bus from Milano, Autostazione Lampugnano to Villach Hbfbus N456 / ...
31h 10m€159–263Drive 1,966 km
- Drive from Madrid to Villachcar 1,966 km
20h 33m€323–466Fly 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 Klagenfurt - Hauptbahnhof
8h 37m€165–522Fly to Venice Marco Polo Airport, shuttle, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Venice Marco Polo Airport (VCE)plane MAD - VCE
- Take a shuttle bus from Venezia, Aeroporto Marco Polo di Venezia to Udine
- Take the train from Udine to Villach Hbftrain
9h 25m€217–617Fly to Zagreb Franjo Tuđman Airport, shuttle, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Zagreb Franjo Tuđman Airport (ZAG)plane MAD - ZAG
- Take a shuttle bus from Zagreb Airport to Ljubljana
- Take the train from Ljubljana to Villach Hbftrain
9h 46m€113–748Fly to Munich International Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Munich International Airport (MUC)plane MAD - MUC
- Take the train from Muenchen Ost to Salzburg Hbftrain
- Take the train from Salzburg Hbf to Villach Hbftrain
10h 19m€134–414Fly to Bologna Guglielmo Marconi Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Bologna Guglielmo Marconi Airport (BLQ)plane MAD - BLQ
- Take the train from Bologna Centrale to Venezia Mestretrain
- Take the train from Venezia Mestre to Villach Hbftrain
10h 28m€112–292Bus
- Take the bus from Méndez Álvaro Estación Sur to Padovabus
- Take the bus from Padua to Villach Hbfbus N456 / ...
32h 40m€145–186
Madrid to Villach by train
Questions & Answers
The cheapest way to get from Madrid to Villach is to bus which costs €140 - €190 and takes 32h 40m.
The fastest way to get from Madrid to Villach is to fly which takes 8h 9m and costs €150 - €480.
No, there is no direct bus from Madrid to Villach. However, there are services departing from Madrid and arriving at Villach Hbf via Milano, Autostazione Lampugnano. The journey, including transfers, takes approximately 31h 10m.
No, there is no direct train from Madrid to Villach. However, there are services departing from Madrid-Puerta de Atocha-Almudena Grandes and arriving at Villach Hbf via Barcelona-Sants, Lyon Part Dieu, Milano Centrale and Venezia Mestre. The journey, including transfers, takes approximately 21h 38m.
The distance between Madrid and Villach is 1649 km. The road distance is 1966 km.
The best way to get from Madrid to Villach without a car is to train which takes 21h 38m and costs €260 - €550.
It takes approximately 8h 9m to get from Madrid to Villach, including transfers.
Madrid to Villach bus services, operated by FlixBus, depart from Madrid station.
Madrid to Villach train services, operated by Renfe AVE, depart from Madrid-Puerta de Atocha-Almudena Grandes station.
The best way to get from Madrid to Villach is to fly which takes 8h 9m and costs €150 - €480. Alternatively, you can train, which costs €260 - €550 and takes 21h 38m, you could also bus via Milan, which costs €150 - €270 and takes 31h 10m.
What companies run services between Madrid, Spain and Villach, Austria?
Ryanair, Air Europa, and three other airlines fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Klagenfurt Airport (KLU) 3 times a day. Alternatively, you can take a train from Madrid-Puerta de Atocha-Almudena Grandes to Villach Hbf via Barcelona-Sants, Lyon Part Dieu, Milano Centrale, and Venezia Mestre in around 21h 38m.
- Website
- lufthansa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Klagenfurt Airport via Vienna
- Ave. Duration
- 6h 20m
- When
- Every day
- Estimated price
- €100–400
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 Ljubljana via Munich International Airport
- Ave. Duration
- 5h 35m
- When
- Friday, Monday, Tuesday, and Sunday
- Estimated price
- €85–300
Flights from Adolfo Suárez Madrid–Barajas Airport to Trieste – Friuli Venezia Giulia Airport via Rome
- Ave. Duration
- 5h 20m
- When
- Every day
- Estimated price
- €65–290
Flights from Adolfo Suárez Madrid–Barajas Airport to Zagreb Franjo Tuđman Airport via Munich International Airport
- Ave. Duration
- 5h 18m
- When
- Every day
- Estimated price
- €75–360
Flights from Adolfo Suárez Madrid–Barajas Airport to Munich International Airport
- Ave. Duration
- 2h 32m
- When
- Every day
- Estimated price
- €65–340
- 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
- Every 30 minutes
- Estimated price
- €90–160
- Website
- Renfe AVE
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Madrid to Milan
- Ave. Duration
- 23h 5m
- Frequency
- Once daily
- Estimated price
- €120–200
- Website
- Flixbus
Bus from Milano, Autostazione Lampugnano to Villach Hbf
- Ave. Duration
- 7h 5m
- Frequency
- Once daily
- Estimated price
- €35–65
- Website
- Flixbus
Bus from Padua to Villach Hbf
- Ave. Duration
- 3h 55m
- Frequency
- Twice daily
- Estimated price
- €19–35
- Website
- Flixbus
Want to know more about travelling around Austria
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
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
5 delightfully under-the-radar French towns you need to visit
Read the travel guide
Italy Travel Guides
Read the travel guide
More Questions & Answers
Madrid to Villach bus services, operated by FlixBus, arrive at Milan station.
Madrid to Villach train services, operated by Renfe AVE, arrive at Barcelona-Sants station.
Yes, the driving distance between Madrid to Villach is 1966 km. It takes approximately 20h 33m to drive from Madrid to Villach.
Book your Madrid to Villach train tickets online with Omio.
Book your Madrid to Villach bus tickets online with Omio and FlixBus.
There are 2579+ hotels available in Villach.










