There are 7 ways to get from Mexico City to Locarno by plane, train, or bus
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 Benito Juárez International Airport (MEX) to Milano Malpensa Airport (MXP)plane MEX - MXP
- Take the train from Malpensa Aeroporto T1 to Mendrisiotrain
- Take the train from Mendrisio to Locarnotrain
16h 29mCHF 458–904Fly to Il Caravaggio International Airport, bus, train
cheapest- Fly from Benito Juárez International Airport (MEX) to Il Caravaggio International Airport (BGY)plane MEX - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
- Take the train from Milano Centrale to Locarnotrain
19h 23mCHF 331–1,132Fly to Zurich Airport, train
- Fly from Benito Juárez International Airport (MEX) to Zurich Airport (ZRH)plane MEX - ZRH
- Take the train from Zürich HB to Bellinzonatrain
18h 12mCHF 533–1,037Fly to Milan Linate Airport, train
- Fly from Benito Juárez International Airport (MEX) to Milan Linate Airport (LIN)plane MEX - LIN
- Take the train from Monza to Locarnotrain
18h 8mCHF 508–1,013Fly to Basel, train
- Fly from Benito Juárez International Airport (MEX) to Basel (BSL)plane MEX - BSL
- Take the train from Basel SBB to Bellinzonatrain
18h 56mCHF 572–1,220Fly to Turin Caselle Airport, train
- Fly from Benito Juárez International Airport (MEX) to Turin Caselle Airport (TRN)plane MEX - TRN
- Take the train from Torino Porta di Susa to Milano Centraletrain
- Take the train from Milano Centrale to Locarnotrain
20h 18mCHF 513–1,939Fly to Frankfurt, train
- Fly from Benito Juárez International Airport (MEX) to Frankfurt (FRA)plane MEX - FRA
- Take the train from Frankfurt to Basel SBBtrain
- Take the train from Basel SBB to Bellinzonatrain
20h 11mCHF 526–1,419
Benito Juárez International Airport (MEX) to Milano Malpensa Airport (MXP) flights
Comparing Your Travel Options
The cheapest way to get from Mexico City to Locarno is to fly and train which costs SFr 450 - SFr 950 and takes 16h 29m.
The fastest way to get from Mexico City to Locarno is to fly and train which takes 16h 29m and costs SFr 450 - SFr 950.
The distance between Mexico City and Locarno is 9893 km.
It takes approximately 16h 29m to get from Mexico City to Locarno, including transfers.
Locarno is 7h ahead of Mexico City. It is currently 12:25 PM in Mexico City and 7:25 PM in Locarno.
There are 2624+ hotels available in Locarno.
What companies run services between Mexico City, Mexico and Locarno, Switzerland?
There is no direct connection from Mexico City to Locarno. However, you can take the line 4 bus to Terminal 1 - Aeropuerto, walk to Benito Juárez International Airport (MEX) airport, fly to Milano Malpensa Airport (MXP), walk to Malpensa Aeroporto T1, take the train to Mendrisio, then take the train to Locarno. Alternatively, you can take the line 4 bus to Terminal 1 - Aeropuerto, walk to Benito Juárez International Airport (MEX) airport, fly to Zurich Airport (ZRH), walk to Zürich Flughafen, take the train to Zürich HB, take the train to Bellinzona, then take the train to Locarno.
- Website
- iberia.com
Flights from Benito Juárez International Airport to Milano Malpensa Airport via Madrid
- Ave. Duration
- 14h 33m
- When
- Every day
- Estimated price
- CHF 320–1,100
Flights from Benito Juárez International Airport to Zurich Airport via Madrid
- Ave. Duration
- 15h 23m
- When
- Every day
- Estimated price
- CHF 360–1,200
Flights from Benito Juárez International Airport to Milan Linate Airport via Madrid
- Ave. Duration
- 15h 20m
- When
- Every day
- Estimated price
- CHF 370–1,200
Flights from Benito Juárez International Airport to Turin Caselle Airport via Madrid
- Ave. Duration
- 15h 35m
- When
- Every day
- Estimated price
- CHF 380–1,200
Flights from Benito Juárez International Airport to Frankfurt via Madrid
- Ave. Duration
- 15h 28m
- When
- Every day
- Estimated price
- CHF 500–650
- Website
- aeromexico.com
Flights from Benito Juárez International Airport to Milano Malpensa Airport
- Ave. Duration
- 11h 50m
- When
- Sunday
- Estimated price
- CHF 260–900
Flights from Benito Juárez International Airport to Milano Malpensa Airport via Paris Charles de Gaulle
- Ave. Duration
- 14h 30m
- When
- Every day
- Estimated price
- CHF 260–900
Flights from Benito Juárez International Airport to Zurich Airport via Amsterdam Schiphol
- Ave. Duration
- 13h 35m
- When
- Monday, Tuesday, Wednesday, Thursday, Saturday, and Sunday
- Estimated price
- CHF 290–1,000
Flights from Benito Juárez International Airport to Zurich Airport via Paris Charles de Gaulle
- Ave. Duration
- 15h 40m
- When
- Every day
- Estimated price
- CHF 280–1,000
Flights from Benito Juárez International Airport to Zurich Airport via Madrid
- Ave. Duration
- 16h 17m
- When
- Every day
- Estimated price
- CHF 300–1,100
Flights from Benito Juárez International Airport to Turin Caselle Airport via Paris Charles de Gaulle
- Ave. Duration
- 15h 37m
- When
- Every day
- Estimated price
- CHF 300–1,100
Flights from Benito Juárez International Airport to Frankfurt via Amsterdam Schiphol
- Ave. Duration
- 13h 5m
- When
- Every day
- Estimated price
- CHF 250–900
Flights from Benito Juárez International Airport to Frankfurt via Paris Charles de Gaulle
- Ave. Duration
- 13h 50m
- When
- Monday, Tuesday, Wednesday, Thursday, and Sunday
- Estimated price
- CHF 260–900
- Website
- lufthansa.com
Flights from Benito Juárez International Airport to Milano Malpensa Airport via Munich
- Ave. Duration
- 13h 45m
- When
- Monday, Wednesday, and Saturday
- Estimated price
- CHF 300–1,100
Flights from Benito Juárez International Airport to Zurich Airport via Frankfurt
- Ave. Duration
- 13h 20m
- When
- Every day
- Estimated price
- CHF 320–1,200
Flights from Benito Juárez International Airport to Zurich Airport via Munich
- Ave. Duration
- 13h 35m
- When
- Monday, Tuesday, Wednesday, and Saturday
- Estimated price
- CHF 330–1,200
Flights from Benito Juárez International Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 12h 55m
- When
- Every day
- Estimated price
- CHF 650–900
Flights from Benito Juárez International Airport to Milan Linate Airport via Munich
- Ave. Duration
- 16h 5m
- When
- Monday, Tuesday, Wednesday, Friday, and Saturday
- Estimated price
- CHF 650–900
Flights from Benito Juárez International Airport to Basel via Munich
- Ave. Duration
- 13h 20m
- When
- Monday, Wednesday, and Friday
- Estimated price
- CHF 370–1,300
Flights from Benito Juárez International Airport to Basel via Frankfurt
- Ave. Duration
- 18h 35m
- When
- Every day
- Estimated price
- CHF 360–1,300
Flights from Benito Juárez International Airport to Turin Caselle Airport via Munich
- Ave. Duration
- 16h 10m
- When
- Monday, Tuesday, Wednesday, and Saturday
- Estimated price
- CHF 350–1,300
Flights from Benito Juárez International Airport to Turin Caselle Airport via Frankfurt
- Ave. Duration
- 19h 20m
- When
- Tuesday, Wednesday, Thursday, Saturday, and Sunday
- Estimated price
- CHF 350–1,300
Flights from Benito Juárez International Airport to Frankfurt
- Ave. Duration
- 10h 45m
- When
- Every day
- Estimated price
- CHF 900–2,400
Flights from Benito Juárez International Airport to Frankfurt via Munich
- Ave. Duration
- 13h 15m
- When
- Monday, Tuesday, Wednesday, Friday, and Saturday
- Estimated price
- CHF 900–2,400
- Website
- airfrance.com
Flights from Benito Juárez International Airport to Milano Malpensa Airport via Paris Charles de Gaulle
- Ave. Duration
- 14h 30m
- When
- Every day
- Estimated price
- CHF 260–900
Flights from Benito Juárez International Airport to Zurich Airport via Paris Charles de Gaulle
- Ave. Duration
- 15h 40m
- When
- Every day
- Estimated price
- CHF 280–1,000
Flights from Benito Juárez International Airport to Milan Linate Airport via Paris Charles de Gaulle
- Ave. Duration
- 13h 35m
- When
- Every day
- Estimated price
- CHF 300–1,100
Flights from Benito Juárez International Airport to Basel via Amsterdam Schiphol
- Ave. Duration
- 12h 35m
- When
- Monday, Tuesday, Wednesday, Thursday, Saturday, and Sunday
- Estimated price
- CHF 320–1,200
Flights from Benito Juárez International Airport to Turin Caselle Airport via Paris Charles de Gaulle
- Ave. Duration
- 15h 37m
- When
- Every day
- Estimated price
- CHF 300–1,100
Flights from Benito Juárez International Airport to Frankfurt via Paris Charles de Gaulle
- Ave. Duration
- 13h 50m
- When
- Monday, Tuesday, Wednesday, Thursday, and Sunday
- Estimated price
- CHF 260–900
- Website
- klm.com
Flights from Benito Juárez International Airport to Zurich Airport via Amsterdam Schiphol
- Ave. Duration
- 13h 35m
- When
- Monday, Tuesday, Wednesday, Thursday, Saturday, and Sunday
- Estimated price
- CHF 290–1,000
Flights from Benito Juárez International Airport to Milan Linate Airport via Amsterdam Schiphol
- Ave. Duration
- 13h 45m
- When
- Every day
- Estimated price
- CHF 300–1,100
Flights from Benito Juárez International Airport to Basel via Amsterdam Schiphol
- Ave. Duration
- 12h 35m
- When
- Monday, Tuesday, Wednesday, Thursday, Saturday, and Sunday
- Estimated price
- CHF 320–1,200
Flights from Benito Juárez International Airport to Turin Caselle Airport via Paris Charles de Gaulle
- Ave. Duration
- 15h 37m
- When
- Every day
- Estimated price
- CHF 300–1,100
Flights from Benito Juárez International Airport to Turin Caselle Airport via Amsterdam Schiphol
- Ave. Duration
- 17h 50m
- When
- Every day
- Estimated price
- CHF 310–1,100
Flights from Benito Juárez International Airport to Frankfurt via Amsterdam Schiphol
- Ave. Duration
- 13h 5m
- When
- Every day
- Estimated price
- CHF 250–900
- Website
- britishairways.com
Flights from Benito Juárez International Airport to Milano Malpensa Airport via London Heathrow
- Ave. Duration
- 14h 25m
- When
- Monday, Wednesday, Friday, Saturday, and Sunday
- Estimated price
- CHF 250–900
Flights from Benito Juárez International Airport to Zurich Airport via London Heathrow
- Ave. Duration
- 14h 20m
- When
- Wednesday, Friday, and Sunday
- Estimated price
- CHF 280–1,000
Flights from Benito Juárez International Airport to Milan Linate Airport via London Heathrow
- Ave. Duration
- 13h 50m
- When
- Monday, Wednesday, Friday, Saturday, and Sunday
- Estimated price
- CHF 290–1,100
Flights from Benito Juárez International Airport to Basel via London Heathrow
- Ave. Duration
- 14h 5m
- When
- Monday, Wednesday, Saturday, Sunday, Tuesday, and Thursday
- Estimated price
- CHF 310–1,100
Flights from Benito Juárez International Airport to Frankfurt via London Heathrow
- Ave. Duration
- 14h 10m
- When
- Monday, Wednesday, and Saturday
- Estimated price
- CHF 400–650
- Website
- ryanair.com
Flights from Benito Juárez International Airport to Turin Caselle Airport via Barcelona
- Ave. Duration
- 13h 20m
- When
- Friday and Sunday
- Estimated price
- CHF 380–1,200
Flights from Benito Juárez International Airport to Il Caravaggio International Airport via Barcelona
- Ave. Duration
- 13h 50m
- When
- Saturday
- Estimated price
- CHF 320–1,100
Flights from Benito Juárez International Airport to Il Caravaggio International Airport via Madrid
- Ave. Duration
- 14h 35m
- When
- Saturday, Monday, Thursday, Sunday, and Friday
- Estimated price
- CHF 320–1,300
- Website
- aireuropa.com
Flights from Benito Juárez International Airport to Zurich Airport via Madrid
- Ave. Duration
- 16h 17m
- When
- Every day
- Estimated price
- CHF 300–1,100
- Website
- easyjet.com
Flights from Benito Juárez International Airport to Basel via Madrid
- Ave. Duration
- 14h 30m
- When
- Tuesday, Monday, Thursday, Friday, and Sunday
- Estimated price
- CHF 340–1,300
- Website
- neosair.it
Flights from Benito Juárez International Airport to Il Caravaggio International Airport via Rome
- Ave. Duration
- 17h 35m
- When
- Monday
- Estimated price
- CHF 330–1,200
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- Trenord
Train from Malpensa Aeroporto T1 to Mendrisio
- Ave. Duration
- 1h 8m
- Frequency
- Hourly
- Estimated price
- CHF 4–6
- Website
- Trenord
Train from Mendrisio to Locarno
- Ave. Duration
- 57 min
- Frequency
- Hourly
- Estimated price
- CHF 4–6
- Website
- Trenord
Train from Monza to Locarno
- Ave. Duration
- 1h 45m
- Frequency
- Hourly
- Estimated price
- CHF 5–7
- Website
- Trenord
Train from Milano Centrale to Locarno
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- CHF 7–10
- Website
- Trenord
Train from Milano Centrale to Locarno
- Ave. Duration
- 1h 55m
- Frequency
- Hourly
- Estimated price
- CHF 7–10
- Website
- Trenord
Train from Malpensa Aeroporto T1 to Mendrisio
- Ave. Duration
- 1h 8m
- Frequency
- Hourly
- Estimated price
- CHF 17–28
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Mendrisio to Locarno
- Ave. Duration
- 57 min
- Frequency
- Hourly
- Estimated price
- CHF 16–25
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Zürich HB to Bellinzona
- Ave. Duration
- 1h 39m
- Frequency
- Hourly
- Estimated price
- CHF 45–75
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Basel SBB to Bellinzona
- Ave. Duration
- 2h 38m
- Frequency
- Every 3 hours
- Estimated price
- CHF 70–110
- Website
- Swiss Federal Railways (SBB CFF FFS)
Train from Basel SBB to Bellinzona
- Ave. Duration
- 2h 38m
- Frequency
- Every 3 hours
- Estimated price
- CHF 70–110
- Website
- Swiss Federal Railways (SBB CFF FFS)
- 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
- CHF 45–70
- Schedules at
- Schweizerische Südostbahn AG
Train from Basel SBB to Bellinzona
- Ave. Duration
- 3h 56m
- Frequency
- Every 4 hours
- Estimated price
- CHF 60–95
- Schedules at
- Schweizerische Südostbahn AG
Train from Basel SBB to Bellinzona
- Ave. Duration
- 3h 56m
- Frequency
- Every 4 hours
- Estimated price
- CHF 60–95
- Schedules at
- Schweizerische Südostbahn AG
- Phone
- +49 (0) 7531 915109
- [email protected]
- Website
- SBB GmbH
Train from Basel SBB to Bellinzona
- Ave. Duration
- 3h 5m
- Frequency
- Once daily
- Estimated price
- CHF 16–21
- Schedules at
- SBB GmbH
Train from Basel SBB to Bellinzona
- Ave. Duration
- 3h 5m
- Frequency
- Once daily
- Estimated price
- CHF 16–21
- Schedules at
- SBB GmbH
- Phone
- +39 06 8937 1892
- Website
- Italo Treno
Train from Torino Porta di Susa to Milano Centrale
- Ave. Duration
- 50 min
- Frequency
- Hourly
- Estimated price
- CHF 15–25
- Website
- Italo Treno
- Phone
- +49 30 2970
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Frankfurt to Basel SBB
- Ave. Duration
- 2h 57m
- Frequency
- Hourly
- Estimated price
- CHF 45–100
- Website
- Deutsche Bahn Intercity (DB IC)
- [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
- CHF 4–21
- 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
- CHF 10–13
- Schedules at
- orioshuttle.com
Want to know more about travelling around Switzerland
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
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide









































