There are 11 ways to get from Madrid to Lake Maggiore by plane, train, train (Renfe, Ouigo, TGV, Trenitalia), bus, car, train (Renfe, Ouigo, TGV), or train (Renfe, TGV, Trenitalia)
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 Milano Malpensa Airport, train
best- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Milano Malpensa Airport (MXP)plane MAD - MXP
- Take the train from Malpensa Aeroporto T1 to Varesetrain
6h 35m€30–184Train
- 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 Locarnotrain
17h 29m€211–468Bus
- Take the bus from Madrid to Milanbus FlixBus N1138
- Take the bus from Rho Fiera Milano to Stresabus Re4
25h 53mDrive 1,470.8 km
- Drive from Madrid to Stresacar 1,470.8 km
16h 7m€240–347Fly to Milan Linate Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Milan Linate Airport (LIN)plane MAD - LIN
- Take the train from Milano Cadorna to Laveno Mombello Lagotrain
6h 57m€78–224Fly to Zurich Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Zurich Airport (ZRH)plane MAD - ZRH
- Take the train from Zürich HB to Bellinzonatrain
7h 22m€124–338Fly to Il Caravaggio International Airport, bus, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Il Caravaggio International Airport (BGY)plane MAD - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
- Take the train from Milano Centrale to Stresatrain
7h 27m€81–354Fly to Turin Caselle Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Turin Caselle Airport (TRN)plane MAD - TRN
- Take the train from Torino Porta Susa to Rho-Fiera Milanotrain
- Take the train from Rho-Fiera Milano to Stresatrain
7h 57m€71–246Train via Geneva
- 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 Genevetrain Ter
- Take the train from Genève to Domodossolatrain Ec
17h 41m€234–512Train #2
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Marseille St Charlestrain
- Take the train from Marseille St Charles to Nice Villetrain Tgv
- Take the train from Ventimiglia to Milano Centraletrain Ic
- Take the train from Milano Centrale to Locarnotrain
20h 8m€256–406Bus, train
- Take the bus from Estación Sur de Autobuses to Lyon - Gerland Bus Stationbus
- Take the bus from Lyon to Genevabus
- Take the train from Genève to Locarnotrain Ic
26h 24m€215–346
Madrid to Lake Maggiore by train
Comparing Your Travel Options
The cheapest way to get from Madrid to Lake Maggiore is to fly and train which costs €29 - €190 and takes 6h 35m.
The fastest way to get from Madrid to Lake Maggiore is to fly and train which takes 6h 35m and costs €29 - €190.
No, there is no direct bus from Madrid to Lake Maggiore. However, there are services departing from Madrid and arriving at Stresa - Imbarcadero via Rho Fiera Milano and Stresa - Stazione Ferroviaria. The journey, including transfers, takes approximately 25h 53m.
No, there is no direct train from Madrid to Lake Maggiore. However, there are services departing from Madrid-Puerta de Atocha-Almudena Grandes and arriving at Locarno via Barcelona-Sants, Lyon Part Dieu and Milano Centrale. The journey, including transfers, takes approximately 17h 29m.
The distance between Madrid and Lake Maggiore is 1223 km. The road distance is 1470.8 km.
The best way to get from Madrid to Lake Maggiore without a car is to train which takes 17h 29m and costs €210 - €470.
It takes approximately 6h 35m to get from Madrid to Lake Maggiore, including transfers.
Madrid to Lake Maggiore bus services, operated by FlixBus, depart from Madrid station.
Madrid to Lake Maggiore train services, operated by Renfe AVE, depart from Madrid-Puerta de Atocha-Almudena Grandes station.
The best way to get from Madrid to Lake Maggiore is to train which takes 17h 29m and costs €210 - €470. Alternatively, you can bus, which costs and takes 25h 53m.
What companies run services between Madrid, Spain and Lake Maggiore, Italy?
You can take a train from Madrid-Puerta de Atocha-Almudena Grandes to Locarno via Barcelona-Sants, Lyon Part Dieu, and Milano Centrale in around 17h 29m. Alternatively, you can take a bus from Madrid to Stresa - Imbarcadero via Milan, Lampugnano, Rho Fieramilano, Rho Fiera Milano, and Stresa - Stazione Ferroviaria in around 25h 53m.
- Website
- ryanair.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 9m
- When
- Every day
- Estimated price
- €35–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Il Caravaggio International Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- €45–250
Flights from Adolfo Suárez Madrid–Barajas Airport to Il Caravaggio International Airport via Ibiza
- Ave. Duration
- 4h 27m
- When
- Wednesday and Monday
- Estimated price
- €45–250
Flights from Adolfo Suárez Madrid–Barajas Airport to Il Caravaggio International Airport via Palma Mallorca
- Ave. Duration
- 4h 20m
- When
- Friday
- Estimated price
- €45–250
Flights from Adolfo Suárez Madrid–Barajas Airport to Turin Caselle Airport
- Ave. Duration
- 2h 5m
- When
- Wednesday, Friday, and Sunday
- Estimated price
- €40–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Turin Caselle Airport via Ibiza
- Ave. Duration
- 4h 50m
- When
- Wednesday and Saturday
- Estimated price
- €40–180
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 11m
- When
- Every day
- Estimated price
- €40–220
Flights from Adolfo Suárez Madrid–Barajas Airport to Milan Linate Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- €60–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport
- Ave. Duration
- 2h 21m
- When
- Every day
- Estimated price
- €65–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Turin Caselle Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- €60–140
Flights from Adolfo Suárez Madrid–Barajas Airport to Turin Caselle Airport via Bilbao
- Ave. Duration
- 4h 5m
- When
- Sunday
- Estimated price
- €60–180
- Website
- vueling.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 11m
- When
- Every day
- Estimated price
- €40–220
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport via Bilbao
- Ave. Duration
- 4h 25m
- When
- Saturday
- Estimated price
- €35–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Milan Linate Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- €60–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport
- Ave. Duration
- 2h 21m
- When
- Every day
- Estimated price
- €65–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Turin Caselle Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- €60–140
Flights from Adolfo Suárez Madrid–Barajas Airport to Turin Caselle Airport via Barcelona
- Ave. Duration
- 3h 55m
- When
- Sunday
- Estimated price
- €60–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Turin Caselle Airport via Bilbao
- Ave. Duration
- 4h 5m
- When
- Sunday
- Estimated price
- €60–180
- Website
- aireuropa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 5m
- When
- Every day
- Estimated price
- €45–190
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- €65–220
- Website
- flyulendo.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- €20–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Turin Caselle Airport
- Ave. Duration
- 2h 10m
- When
- Monday, Wednesday, and Friday
- Estimated price
- €24–180
- Website
- swiss.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport
- Ave. Duration
- 2h 17m
- When
- Every day
- Estimated price
- €75–200
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- Trenord
Train from Malpensa Aeroporto T1 to Varese
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- €4–5
- Website
- Trenord
Train from Milano Cadorna to Laveno Mombello Lago
- Ave. Duration
- 1h 31m
- Frequency
- Hourly
- Estimated price
- €5–8
- Website
- Trenord
Train from Malpensa Aeroporto T1 to Varese
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- €12–19
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Milano Centrale to Locarno
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- €30–50
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Zürich HB to Bellinzona
- Ave. Duration
- 1h 39m
- Frequency
- Hourly
- Estimated price
- €45–70
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Genève to Domodossola
- Ave. Duration
- 2h 43m
- Frequency
- 4 times a day
- Estimated price
- €70–110
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Milano Centrale to Locarno
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- €30–50
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Genève to Locarno
- Ave. Duration
- 5h 3m
- Frequency
- Once a week
- Estimated price
- €120–190
- Website
- Swiss Federal Railways (SBB CFF FFS)
- 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
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
- +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
- €60–100
- Website
- Iryo
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 24m
- Frequency
- Hourly
- Estimated price
- €60–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
- Hourly
- Estimated price
- €50–80
- Website
- Ouigo
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 23m
- Frequency
- Hourly
- Estimated price
- €50–80
- Website
- Ouigo
- Phone
- +34 91 232 03 20
- Website
- Renfe Viajeros
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 29m
- Frequency
- 4 times a day
- Estimated price
- €75–110
- Website
- Renfe Viajeros
Train from Barcelona-Sants to Lyon Part Dieu
- Ave. Duration
- 5h 6m
- Frequency
- Twice daily
- Estimated price
- €80–120
- Website
- Renfe Viajeros
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 29m
- Frequency
- 4 times a day
- Estimated price
- €75–110
- Website
- Renfe Viajeros
Train from Barcelona-Sants to Lyon Part Dieu
- Ave. Duration
- 5h 6m
- Frequency
- Twice daily
- Estimated price
- €80–120
- Website
- Renfe Viajeros
Train from Madrid-Puerta de Atocha-Almudena Grandes to Marseille St Charles
- Ave. Duration
- 8h 42m
- Frequency
- Twice daily
- Estimated price
- €140–210
- Website
- Renfe Viajeros
- Phone
- +33 1 84 94 36 35
- Website
- TGV inOui
Train from Barcelona-Sants to Lyon Part Dieu
- Ave. Duration
- 6h 4m
- Frequency
- Twice a week
- Estimated price
- €120–190
- Website
- TGV inOui
Train from Barcelona-Sants to Lyon Part Dieu
- Ave. Duration
- 6h 4m
- Frequency
- Twice a week
- Estimated price
- €120–190
- Website
- TGV inOui
Train from Lyon Part Dieu to Geneve
- Ave. Duration
- 1h 50m
- Frequency
- Once daily
- Estimated price
- €30–50
- Website
- TGV inOui
Train from Marseille St Charles to Nice Ville
- Ave. Duration
- 2h 38m
- Frequency
- Every 3 hours
- Estimated price
- €40–65
- Website
- TGV inOui
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Lyon Part Dieu to Milano Centrale
- Ave. Duration
- 4h 44m
- Frequency
- 4 times a day
- Estimated price
- €50–75
- Website
- Trenitalia
Train from Torino Porta Susa to Rho-Fiera Milano
- Ave. Duration
- 1h 25m
- Frequency
- Every 30 minutes
- Estimated price
- €15–22
- Website
- Trenitalia
Train from Rho-Fiera Milano to Stresa
- Ave. Duration
- 1h 16m
- Frequency
- Hourly
- Estimated price
- €8–12
- Website
- Trenitalia
Train from Ventimiglia to Milano Centrale
- Ave. Duration
- 4h 30m
- Frequency
- Twice daily
- Estimated price
- €30–50
- Website
- Trenitalia
- Phone
- +41 58 580 70 70
- Website
- Schweizerische Südostbahn AG
Train from Zürich HB to Bellinzona
- Ave. Duration
- 2h 55m
- Frequency
- Every 3 hours
- Estimated price
- €45–70
- Schedules at
- Schweizerische Südostbahn AG
- Phone
- +39 06 68475475
- [email protected]
- Website
- Trenitalia Eurocity
Train from Milano Centrale to Stresa
- Ave. Duration
- 59 min
- Frequency
- 5 times a day
- Estimated price
- €25–70
- Website
- Trenitalia Eurocity
- 1st Class
- €45–70
- 2nd Class
- €25–35
- Phone
- +39 06 5210550
- Website
- Trenitalia Frecce
Train from Torino Porta Susa to Rho-Fiera Milano
- Ave. Duration
- 36 min
- Frequency
- Hourly
- Estimated price
- €18–30
- Website
- Trenitalia Frecce
- Phone
- +39 06 8937 1892
- Website
- Italo Treno
Train from Torino Porta Susa to Rho-Fiera Milano
- Ave. Duration
- 46 min
- Frequency
- Every 4 hours
- Estimated price
- €15–25
- Website
- Italo Treno
- Phone
- +33 1 84 94 36 35
- Website
- Oui.SNCF
Train from Lyon Part Dieu to Geneve
- Ave. Duration
- 2h 2m
- Frequency
- Hourly
- Estimated price
- €28–50
- Website
- Oui.SNCF
- Phone
- +33 4 13 94 30 50
- Website
- Zou! Lignes Express Régionales
Train from Marseille St Charles to Nice Ville
- Ave. Duration
- 2h 41m
- Frequency
- Hourly
- Estimated price
- €55–80
- Website
- Zou! Lignes Express Régionales
- Phone
- +39 06 68475475
- Website
- Trenitalia Intercity
Train from Ventimiglia to Milano Centrale
- Ave. Duration
- 3h 50m
- Frequency
- Every 2 hours
- Estimated price
- €30–55
- Website
- Trenitalia Intercity
- 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 Lyon to Geneva
- Ave. Duration
- 2h 25m
- Frequency
- Every 2 hours
- Estimated price
- €12–20
- Website
- Flixbus
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- Trenord
Bus from Rho Fiera Milano to Stresa
- Ave. Duration
- 58 min
- Frequency
- Every 2 hours
- Website
- Trenord
- [email protected]
- Website
- TERRAVISION
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €5–23
- Website
- TERRAVISION
- Phone
- 035.319366
- [email protected]
- Website
- orioshuttle.com
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €11–14
- Schedules at
- orioshuttle.com
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Estación Sur de Autobuses to Lyon - Gerland Bus Station
- Ave. Duration
- 17h 10m
- Frequency
- Every 4 hours
- Estimated price
- €85–140
- Website
- BlaBlaCar Bus
Bus from Lyon to Geneva
- Ave. Duration
- 2h 15m
- Frequency
- Every 4 hours
- Estimated price
- €10–17
- Website
- BlaBlaCar Bus
Want to know more about travelling around Italy
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
Italian Lakes: Getting around by train
Read the travel guide
Italy Travel Guides
Read the travel guide
5 delightfully under-the-radar French towns you need to visit
Read the travel guide
Booking & Getting There
Madrid to Lake Maggiore bus services, operated by FlixBus, arrive at Milan station.
Madrid to Lake Maggiore train services, operated by Renfe AVE, arrive at Barcelona-Sants station.
Yes, the driving distance between Madrid to Lake Maggiore is 1471 km. It takes approximately 16h 7m to drive from Madrid to Lake Maggiore.
There are 5762+ hotels available in Lake Maggiore.












































































