There are 11 ways to get from Madrid to Lake Maggiore by plane, train, train (Renfe, Ouigo, 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–196Train
- 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 49m€233–516Bus, train
- Take the bus from Estación Sur de Autobuses to Lyon - Gerland Bus Stationbus
- Take the bus from Lyon - Gerland Bus Station to Geneva - Bus Stationbus
- Take the train from Genève to Locarnotrain Ic
25h 50m€275–689Drive 1,470.8 km
- Drive from Madrid to Stresacar 1,470.8 km
16h 7m€234–337Fly 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–215Fly 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€134–302Fly 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 34m€76–267Fly 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 55m€73–221Train 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 55m€255–683Train #2
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Marseille St Charlestrain
- Take the train from Marseille-Saint-Charles to Nice-Villetrain
- Take the train from Ventimiglia to Milano Centraletrain Ic
- Take the train from Milano Centrale to Locarnotrain
19h 56m€270–554Bus
- Take the bus from Madrid to Milanbus FlixBus N1138
- Take the bus from Rho Fiera Milano to Stresabus Re4
25h 54m
Madrid to Lake Maggiore by train
Questions & Answers
The cheapest way to get from Madrid to Lake Maggiore is to fly and train which costs €29 - €200 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 - €200.
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 54m.
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 49m.
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 49m and costs €230 - €550.
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 49m and costs €230 - €550. Alternatively, you can bus, which costs and takes 25h 54m.
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 49m. 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 54m.
- Website
- ryanair.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 9m
- When
- Every day
- Estimated price
- €23–140
Flights from Adolfo Suárez Madrid–Barajas Airport to Il Caravaggio International Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- €45–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Il Caravaggio International Airport via Ibiza
- Ave. Duration
- 4h 36m
- When
- Every day
- Estimated price
- €45–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Turin Caselle Airport
- Ave. Duration
- 2h 5m
- When
- Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €40–150
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 11m
- When
- Every day
- Estimated price
- €65–120
Flights from Adolfo Suárez Madrid–Barajas Airport to Milan Linate Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- €65–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- €70–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport via Barcelona
- Ave. Duration
- 5h
- When
- Monday and Friday
- Estimated price
- €90–240
Flights from Adolfo Suárez Madrid–Barajas Airport to Turin Caselle Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- €55–160
- Website
- vueling.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 11m
- When
- Every day
- Estimated price
- €65–120
Flights from Adolfo Suárez Madrid–Barajas Airport to Milan Linate Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- €65–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- €70–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport via Barcelona
- Ave. Duration
- 5h
- When
- Monday and Friday
- Estimated price
- €90–240
Flights from Adolfo Suárez Madrid–Barajas Airport to Turin Caselle Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- €55–160
- Website
- aireuropa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 5m
- When
- Every day
- Estimated price
- €60–150
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- €65–200
- Website
- swiss.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport
- Ave. Duration
- 2h 18m
- When
- Every day
- Estimated price
- €80–200
- Website
- flyulendo.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Milano Malpensa Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- €23–120
- Website
- ita-airways.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Milan Linate Airport via Palma Mallorca
- Ave. Duration
- 4h 22m
- When
- Thursday and Sunday
- Estimated price
- €90–190
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- trenord.it
Train from Malpensa Aeroporto T1 to Varese
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- €4–5
- Website
- https://www.trenord.it/en/
Train from Milano Cadorna to Laveno Mombello Lago
- Ave. Duration
- 1h 31m
- Frequency
- Hourly
- Estimated price
- €5–8
- Website
- https://www.trenord.it/en/
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Malpensa Aeroporto T1 to Varese
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- €14–50
- Website
- https://www.sbb.ch/en
Train from Milano Centrale to Locarno
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- €40–130
- Website
- https://www.sbb.ch/en
Train from Genève to Locarno
- Ave. Duration
- 5h 3m
- Frequency
- Once a week
- Estimated price
- €150–470
- Website
- https://www.sbb.ch/en
Train from Zürich HB to Bellinzona
- Ave. Duration
- 1h 39m
- Frequency
- Hourly
- Estimated price
- €55–170
- Website
- https://www.sbb.ch/en
Train from Genève to Domodossola
- Ave. Duration
- 2h 43m
- Frequency
- 4 times a day
- Estimated price
- €85–270
- Website
- https://www.sbb.ch/en
Train from Milano Centrale to Locarno
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- €40–130
- Website
- https://www.sbb.ch/en
- 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
- 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 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 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–230
- Website
- https://www.renfe.com/es/en
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Lyon Part Dieu to Milano Centrale
- Ave. Duration
- 4h 44m
- Frequency
- 4 times a day
- Estimated price
- €55–90
- Website
- https://www.trenitalia.com/en.html
Train from Torino Porta Susa to Rho-Fiera Milano
- Ave. Duration
- 1h 25m
- Frequency
- Every 30 minutes
- Estimated price
- €16–27
- Website
- https://www.trenitalia.com/en.html
Train from Rho-Fiera Milano to Stresa
- Ave. Duration
- 1h 16m
- Frequency
- Hourly
- Estimated price
- €9–15
- Website
- https://www.trenitalia.com/en.html
Train from Ventimiglia to Milano Centrale
- Ave. Duration
- 4h 26m
- Frequency
- Twice daily
- Estimated price
- €35–60
- Website
- https://www.trenitalia.com/en.html
- Phone
- +41 58 580 70 70
- Website
- sob.ch
Train from Zürich HB to Bellinzona
- Ave. Duration
- 2h 55m
- Frequency
- Every 3 hours
- Estimated price
- €45–70
- Schedules at
- sob.ch
- Phone
- +39 06 68475475
- [email protected]
- Website
- trenitalia.com
Train from Milano Centrale to Stresa
- Ave. Duration
- 59 min
- Frequency
- Every 4 hours
- Estimated price
- €25–70
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €45–70
- 2nd Class
- €25–35
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Torino Porta Susa to Rho-Fiera Milano
- Ave. Duration
- 36 min
- Frequency
- Hourly
- Estimated price
- €19–40
- Schedules at
- trenitalia.com
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Torino Porta Susa to Rho-Fiera Milano
- Ave. Duration
- 56 min
- Frequency
- Hourly
- Estimated price
- €16–35
- Website
- https://www.italotreno.it/en
- Phone
- +33 1 84 94 36 35
- Website
- track.effiliation.com
Train from Lyon Part Dieu to Geneve
- Ave. Duration
- 2h 2m
- Frequency
- Hourly
- Estimated price
- €27–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 1 84 94 36 35
- Website
- sncf-connect.com
Train from Lyon Part Dieu to Geneve
- Ave. Duration
- 1h 50m
- Frequency
- Once daily
- Estimated price
- €30–55
- Website
- https://www.sncf-connect.com/en-en
Train from Marseille-Saint-Charles to Nice-Ville
- Ave. Duration
- 2h 36m
- Frequency
- Every 2 hours
- Estimated price
- €45–75
- Website
- https://www.sncf-connect.com/en-en
- Phone
- +33 4 13 94 30 50
- Website
- zou.maregionsud.fr
Train from Marseille-Saint-Charles to Nice-Ville
- Ave. Duration
- 2h 41m
- Frequency
- Hourly
- Estimated price
- €55–120
- Website
- https://zou.maregionsud.fr/en/
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Ventimiglia to Milano Centrale
- Ave. Duration
- 3h 45m
- Frequency
- Hourly
- Estimated price
- €30–65
- Website
- https://www.trenitalia.com/en.html
- Phone
- +3 318 576 2228
- Website
- blablacar.co.uk
Bus from Estación Sur de Autobuses to Lyon - Gerland Bus Station
- Ave. Duration
- 17h 10m
- Frequency
- 4 times a day
- Estimated price
- €110–200
- Website
- https://www.blablacar.co.uk/bus
Bus from Lyon - Gerland Bus Station to Geneva - Bus Station
- Ave. Duration
- 2h
- Frequency
- Hourly
- Estimated price
- €13–24
- Website
- https://www.blablacar.co.uk/bus
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- https://www.flixbus.fr
Bus from Lyon - Gerland Bus Station to Geneva - Bus Station
- Ave. Duration
- 2h 40m
- Frequency
- Every 3 hours
- Estimated price
- €13–22
- Website
- https://www.flixbus.co.uk
Bus from Madrid to Milan
- Ave. Duration
- 23h 5m
- Frequency
- Once daily
- Estimated price
- €140–240
- Website
- https://www.flixbus.co.uk
- [email protected]
- Website
- terravision.eu
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €5–25
- Website
- https://www.terravision.eu/
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- trenord.it
Bus from Rho Fiera Milano to Stresa
- Ave. Duration
- 58 min
- Frequency
- Every 2 hours
- Website
- https://www.trenord.it/en/
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
More Questions & Answers
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 6135+ hotels available in Lake Maggiore.








































































