There are 11 ways to get from Madrid to Villach by plane, train (Renfe, Ouigo, TGV, Trenitalia), bus, car, shuttle, train, or night 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€164–481Fly 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 31m€96–255Train
- 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€252–582Bus
- Take the bus from Madrid to Milanbus FlixBus N1138
- Take the bus from Milano, Autostazione Lampugnano to Villach Hbfbus N456 / ...
31h 10m€175–266Drive 1,949.3 km
- Drive from Madrid to Villachcar 1,949.3 km
20h 59m€328–473Fly 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€169–471Fly 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€207–456Fly 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€102–539Fly 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€125–446Fly 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 29m€107–286Bus, night train
- Take the bus from Méndez Álvaro Estación Sur to Padovabus
- Take the nighttrain from Venezia Mestre to Villach Hbfnighttrain Nj
32h 1m€151–301
Madrid to Villach by train
Comparing Your Travel Options
The cheapest way to get from Madrid to Villach is to fly and train which costs €100 - €290 and takes 10h 29m.
The fastest way to get from Madrid to Villach is to fly which takes 8h 9m and costs €160 - €490.
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 1949.3 km.
The best way to get from Madrid to Villach without a car is to train which takes 21h 38m and costs €250 - €600.
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 €160 - €490. Alternatively, you can train, which costs €250 - €600 and takes 21h 38m, you could also bus, which costs €170 - €270 and takes 31h 10m.
What companies run services between Madrid, Spain and Villach, Austria?
Ryanair, Air Europa, and four 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 Munich International Airport
- Ave. Duration
- 4h 22m
- When
- Monday, Tuesday, Friday, and Sunday
- Estimated price
- €80–410
Flights from Adolfo Suárez Madrid–Barajas Airport to Ljubljana via Frankfurt
- Ave. Duration
- 4h 45m
- When
- Every day
- Estimated price
- €110–400
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
- €70–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
- €130–210
- Website
- Flixbus
Bus from Milano, Autostazione Lampugnano to Villach Hbf
- Ave. Duration
- 7h 5m
- Frequency
- 6 times a week
- Estimated price
- €40–65
- 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
Booking & Getting There
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 1949 km. It takes approximately 20h 59m 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 2386+ hotels available in Villach.










