The cheapest and fastest trains from Zurich to Lugano
Cheapest price
£40
Average price
£73
Fastest journey
1 h 53 m
Average duration
1 h 53 m
Trains per day
100
Distance
155 km
The best way to find a cheap train ticket from Zurich to Lugano is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Zurich to Lugano will cost around £73 if you buy it on the day, but you can find cheap train tickets today for only £40.
Of the 100 trains that leave Zurich for Lugano every day 24 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct trains cover the 155 km distance in an average of 1 h 53 m but if you time it right, some trains will get you there in just 1 h 53 m .
The slowest trains will take 1 h 53 m and usually involve a change or two along the way, but you might be able to save a few pennies if you’re on a budget.
IC 2 889 | 88921:051h53Zurich HB22:58Lugano, Stazione£401One-way0 changes
S 6 18679 | 18679 · IC 2 889 | 88920:512h07Zürich Oerlikon22:58Lugano, Stazione£431One-way1 change
S 5 18579 | 18579 · IC 2 889 | 88920:462h12Zurich Altstetten22:58Lugano, Stazione£431One-way1 change
IC 2 873 | 87313:051h53Zurich HB14:58Lugano, Stazione£641One-way0 changes
IC 2 869 | 86911:051h53Zurich HB12:58Lugano, Stazione£641One-way0 changes
IR 46 2421 | 2421 · IC 21 671 | 67112:051h53Zurich HB13:58Lugano, Stazione£721One-way1 change
IC 2 861 | 8617:051h53Zurich HB8:58Lugano, Stazione£721One-way0 changes
IR 46 2409 | 2409 · IC 21 659 | 6596:051h53Zurich HB7:58Lugano, Stazione£721One-way1 change
IC 2 873 | 87313:051h53Zurich HB14:58Lugano, Stazione£641One-way0 changes
IC 2 877 | 87715:051h53Zurich HB16:58Lugano, Stazione£721One-way0 changes
Travel Information
Compare train, coach and flight for Zurich to Lugano
Omio recommends booking the train as it is the most popular option from Zurich to Lugano among Omio's users. If you are prioritising price take the coach with prices starting from £12. For those with little time consider booking a flight which can get you there in 1h 47m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.0 - 0.1kg. The ticket price range depends on the travel mode: a coach costs an average of £12, and a flight costs an average of £76.
Distance: 155 km
Compare train with
Most popular Train | Coach | Flight |
|---|---|---|
£60 Average Price | £15 Average Price Cheapest | £234 Average Price |
2h 42m Average total duration 2h 12m Onboard + 30m Additional time* | 2h 44m Average total duration 2h 14m Onboard + 30m Additional time* | 4h 47m Average total duration Fastest 1h 47m Onboard + 3h 0m Additional time* |
0.0 - 0.1kg CO2 emissions Lowest | 0.2 - 0.4kg CO2 emissions | 0.5 - 0.9kg CO2 emissions |
![]() Most popular train company | ![]() Most popular bus company | ![]() Most popular airline |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Live departures
Zurich to Lugano train times
The table below shows live departures for Zurich to Lugano trains for today, Thursday 21 May. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
S 5 18567 | 18567 · IR 46 2433 | 2433 · IC 21 683 | 683 | 17:46 Zurich Altstetten | 2h12 | 19:58 Lugano, Stazione | 2 changes | |
S 6 18667 | 18667 · IR 46 2433 | 2433 · IC 21 683 | 683 | 17:51 Zürich Oerlikon | 2h07 | 19:58 Lugano, Stazione | 2 changes | |
IR 46 2433 | 2433 · IC 21 683 | 683 | 18:05 Zurich HB | 1h53 | 19:58 Lugano, Stazione | 1 change | |
S 9 18969 | 18969 · EC 27 | 27 | 18:16 Zürich Oerlikon | 2h12 | 20:28 Lugano, Stazione | 1 change | |
S 5 18569 | 18569 · EC 27 | 27 | 18:16 Zurich Altstetten | 2h12 | 20:28 Lugano, Stazione | 1 change | |
EC 27 | 27 | 18:33 Zurich HB | 1h55 | 20:28 Lugano, Stazione | 0 changesdirect | |
S 5 18571 | 18571 · IC 2 885 | 885 | 18:46 Zurich Altstetten | 2h12 | 20:58 Lugano, Stazione | 1 change | |
S 6 18671 | 18671 · IC 2 885 | 885 | 18:51 Zürich Oerlikon | 2h07 | 20:58 Lugano, Stazione | 1 change | |
IC 2 885 | 885 | 19:05 Zurich HB | 1h53 | 20:58 Lugano, Stazione | 0 changesdirect | |
S 9 18973 | 18973 · EC 29 | 29 | 19:16 Zürich Oerlikon | 2h12 | 21:28 Lugano, Stazione | 1 change | |
S 5 18573 | 18573 · EC 29 | 29 | 19:16 Zurich Altstetten | 2h12 | 21:28 Lugano, Stazione | 1 change | |
EC 29 | 29 | 19:33 Zurich HB | 1h55 | 21:28 Lugano, Stazione | 0 changesdirect | |
S 5 18575 | 18575 · IR 46 2437 | 2437 · IC 21 687 | 687 | 19:46 Zurich Altstetten | 2h12 | 21:58 Lugano, Stazione | 2 changes | |
S 6 18675 | 18675 · IR 46 2437 | 2437 · IC 21 687 | 687 | 19:51 Zürich Oerlikon | 2h07 | 21:58 Lugano, Stazione | 2 changes | |
IR 46 2437 | 2437 · IC 21 687 | 687 | 20:05 Zurich HB | 1h53 | 21:58 Lugano, Stazione | 1 change | |
S 5 18579 | 18579 · IC 2 889 | 889 | 20:46 Zurich Altstetten | 2h12 | 22:58 Lugano, Stazione | 1 change | |
S 6 18679 | 18679 · IC 2 889 | 889 | 20:51 Zürich Oerlikon | 2h07 | 22:58 Lugano, Stazione | 1 change | |
IR 46 2441 | 2441 · IC 21 691 | 691 | 22:05 Zurich HB | 1h53 | 23:58 Lugano, Stazione | 1 change | |
S 5 18587 | 18587 · IC 2 893 | 893 · S 10 25149 | 25149 | 22:46 Zurich Altstetten | 2h39 | 1:25 Lugano, Stazione | 2 changes | |
S 6 18687 | 18687 · IC 2 893 | 893 · S 10 25149 | 25149 | 22:51 Zürich Oerlikon | 2h34 | 1:25 Lugano, Stazione | 2 changes | |
IC 2 893 | 893 · S 10 25149 | 25149 | 23:05 Zurich HB | 2h20 | 1:25 Lugano, Stazione | 1 change | |
| Friday 22 May | |||||
S 5 18519 | 18519 · IR 46 2409 | 2409 · IC 21 659 | 659 | 5:46 Zurich Altstetten | 2h12 | 7:58 Lugano, Stazione | 2 changes | |
S 9 18919 | 18919 · IR 46 2409 | 2409 · IC 21 659 | 659 | 5:46 Zürich Oerlikon | 2h12 | 7:58 Lugano, Stazione | 2 changes | |
IR 46 2409 | 2409 · IC 21 659 | 659 | 6:05 Zurich HB | 1h53 | 7:58 Lugano, Stazione | 1 change | |
S 9 18921 | 18921 · EC 11 | 11 | 6:16 Zürich Oerlikon | 2h12 | 8:28 Lugano, Stazione | 1 change | |
S 5 18521 | 18521 · EC 11 | 11 | 6:16 Zurich Altstetten | 2h12 | 8:28 Lugano, Stazione | 1 change | |
EC 11 | 11 | 6:33 Zurich HB | 1h55 | 8:28 Lugano, Stazione | 0 changesdirect | |
S 5 18523 | 18523 · IC 2 861 | 861 | 6:46 Zurich Altstetten | 2h12 | 8:58 Lugano, Stazione | 1 change | |
S 6 18623 | 18623 · IC 2 861 | 861 | 6:51 Zürich Oerlikon | 2h07 | 8:58 Lugano, Stazione | 1 change | |
IC 2 861 | 861 | 7:05 Zurich HB | 1h53 | 8:58 Lugano, Stazione | 0 changesdirect | |
S 9 18925 | 18925 · EC 13 | 13 | 7:16 Zürich Oerlikon | 2h12 | 9:28 Lugano, Stazione | 1 change | |
S 5 18525 | 18525 · EC 13 | 13 | 7:16 Zurich Altstetten | 2h12 | 9:28 Lugano, Stazione | 1 change | |
EC 13 | 13 | 7:33 Zurich HB | 1h55 | 9:28 Lugano, Stazione | 0 changesdirect | |
S 5 18527 | 18527 · IR 46 2413 | 2413 · IC 21 663 | 663 | 7:46 Zurich Altstetten | 2h12 | 9:58 Lugano, Stazione | 2 changes | |
S 6 18627 | 18627 · IR 46 2413 | 2413 · IC 21 663 | 663 | 7:51 Zürich Oerlikon | 2h07 | 9:58 Lugano, Stazione | 2 changes | |
IR 46 2413 | 2413 · IC 21 663 | 663 | 8:05 Zurich HB | 1h53 | 9:58 Lugano, Stazione | 1 change | |
S 9 18929 | 18929 · EC 31 | 31 | 8:16 Zürich Oerlikon | 2h12 | 10:28 Lugano, Stazione | 1 change | |
S 5 18529 | 18529 · EC 31 | 31 | 8:16 Zurich Altstetten | 2h12 | 10:28 Lugano, Stazione | 1 change | |
EC 31 | 31 | 8:33 Zurich HB | 1h55 | 10:28 Lugano, Stazione | 0 changesdirect | |
S 5 18531 | 18531 · IC 2 865 | 865 | 8:46 Zurich Altstetten | 2h12 | 10:58 Lugano, Stazione | 1 change | |
S 6 18631 | 18631 · IC 2 865 | 865 | 8:51 Zürich Oerlikon | 2h07 | 10:58 Lugano, Stazione | 1 change | |
IC 2 865 | 865 | 9:05 Zurich HB | 1h53 | 10:58 Lugano, Stazione | 0 changesdirect | |
S 9 18933 | 18933 · EC 15 | 15 | 9:16 Zürich Oerlikon | 2h12 | 11:28 Lugano, Stazione | 1 change | |
S 5 18533 | 18533 · EC 15 | 15 | 9:16 Zurich Altstetten | 2h12 | 11:28 Lugano, Stazione | 1 change | |
EC 15 | 15 | 9:33 Zurich HB | 1h55 | 11:28 Lugano, Stazione | 0 changesdirect | |
S 5 18535 | 18535 · IR 46 2417 | 2417 · IC 21 667 | 667 | 9:46 Zurich Altstetten | 2h12 | 11:58 Lugano, Stazione | 2 changes | |
S 6 18635 | 18635 · IR 46 2417 | 2417 · IC 21 667 | 667 | 9:51 Zürich Oerlikon | 2h07 | 11:58 Lugano, Stazione | 2 changes | |
IR 46 2417 | 2417 · IC 21 667 | 667 | 10:05 Zurich HB | 1h53 | 11:58 Lugano, Stazione | 1 change | |
S 9 18937 | 18937 · EC 33 | 33 | 10:16 Zürich Oerlikon | 2h12 | 12:28 Lugano, Stazione | 1 change | |
S 5 18537 | 18537 · EC 33 | 33 | 10:16 Zurich Altstetten | 2h12 | 12:28 Lugano, Stazione | 1 change | |
EC 33 | 33 | 10:33 Zurich HB | 1h55 | 12:28 Lugano, Stazione | 0 changesdirect | |
S 5 18539 | 18539 · IC 2 869 | 869 | 10:46 Zurich Altstetten | 2h12 | 12:58 Lugano, Stazione | 1 change | |
S 6 18639 | 18639 · IC 2 869 | 869 | 10:51 Zürich Oerlikon | 2h07 | 12:58 Lugano, Stazione | 1 change | |
IC 2 869 | 869 | 11:05 Zurich HB | 1h53 | 12:58 Lugano, Stazione | 0 changesdirect | |
S 5 18541 | 18541 · EC 19 | 19 | 11:16 Zurich Altstetten | 2h12 | 13:28 Lugano, Stazione | 1 change | |
S 9 18941 | 18941 · EC 19 | 19 | 11:16 Zürich Oerlikon | 2h12 | 13:28 Lugano, Stazione | 1 change | |
EC 19 | 19 | 11:33 Zurich HB | 1h55 | 13:28 Lugano, Stazione | 0 changesdirect | |
S 5 18543 | 18543 · IR 46 2421 | 2421 · IC 21 671 | 671 | 11:46 Zurich Altstetten | 2h12 | 13:58 Lugano, Stazione | 2 changes | |
S 6 18643 | 18643 · IR 46 2421 | 2421 · IC 21 671 | 671 | 11:51 Zürich Oerlikon | 2h07 | 13:58 Lugano, Stazione | 2 changes | |
IR 46 2421 | 2421 · IC 21 671 | 671 | 12:05 Zurich HB | 1h53 | 13:58 Lugano, Stazione | 1 change | |
S 9 18945 | 18945 · EC 151 | 151 | 12:16 Zürich Oerlikon | 2h12 | 14:28 Lugano, Stazione | 1 change | |
S 5 18545 | 18545 · EC 151 | 151 | 12:16 Zurich Altstetten | 2h12 | 14:28 Lugano, Stazione | 1 change | |
EC 151 | 151 | 12:33 Zurich HB | 1h55 | 14:28 Lugano, Stazione | 0 changesdirect | |
S 5 18547 | 18547 · IC 2 873 | 873 | 12:46 Zurich Altstetten | 2h12 | 14:58 Lugano, Stazione | 1 change | |
S 6 18647 | 18647 · IC 2 873 | 873 | 12:51 Zürich Oerlikon | 2h07 | 14:58 Lugano, Stazione | 1 change | |
IC 2 873 | 873 | 13:05 Zurich HB | 1h53 | 14:58 Lugano, Stazione | 0 changesdirect | |
S 5 18549 | 18549 · EC 21 | 21 | 13:16 Zurich Altstetten | 2h12 | 15:28 Lugano, Stazione | 1 change | |
S 9 18949 | 18949 · EC 21 | 21 | 13:16 Zürich Oerlikon | 2h12 | 15:28 Lugano, Stazione | 1 change | |
EC 21 | 21 | 13:33 Zurich HB | 1h55 | 15:28 Lugano, Stazione | 0 changesdirect | |
S 5 18551 | 18551 · IR 46 2425 | 2425 · IC 21 675 | 675 | 13:46 Zurich Altstetten | 2h12 | 15:58 Lugano, Stazione | 2 changes | |
S 6 18651 | 18651 · IR 46 2425 | 2425 · IC 21 675 | 675 | 13:51 Zürich Oerlikon | 2h07 | 15:58 Lugano, Stazione | 2 changes | |
IR 46 2425 | 2425 · IC 21 675 | 675 | 14:05 Zurich HB | 1h53 | 15:58 Lugano, Stazione | 1 change | |
S 9 18953 | 18953 · EC 37 | 37 | 14:16 Zürich Oerlikon | 2h12 | 16:28 Lugano, Stazione | 1 change | |
S 5 18553 | 18553 · EC 37 | 37 | 14:16 Zurich Altstetten | 2h12 | 16:28 Lugano, Stazione | 1 change | |
EC 37 | 37 | 14:33 Zurich HB | 1h55 | 16:28 Lugano, Stazione | 0 changesdirect | |
S 5 18555 | 18555 · IC 2 877 | 877 | 14:46 Zurich Altstetten | 2h12 | 16:58 Lugano, Stazione | 1 change | |
S 6 18655 | 18655 · IC 2 877 | 877 | 14:51 Zürich Oerlikon | 2h07 | 16:58 Lugano, Stazione | 1 change | |
IC 2 877 | 877 | 15:05 Zurich HB | 1h53 | 16:58 Lugano, Stazione | 0 changesdirect | |
S 5 18557 | 18557 · EC 123 | 123 | 15:16 Zurich Altstetten | 2h12 | 17:28 Lugano, Stazione | 1 change | |
S 9 18957 | 18957 · EC 123 | 123 | 15:16 Zürich Oerlikon | 2h12 | 17:28 Lugano, Stazione | 1 change | |
S 6 18657 | 18657 · IR 75 2580 | 2580 · S 2 21259 | 21259 · EC 173 | 173 | 15:21 Zürich Oerlikon | 2h37 | 17:58 Lugano, Stazione | 3 changes | |
EC 123 | 123 | 15:33 Zurich HB | 1h55 | 17:28 Lugano, Stazione | 0 changesdirect | |
IR 75 2580 | 2580 · S 2 21259 | 21259 · EC 173 | 173 | 15:35 Zurich HB | 2h23 | 17:58 Lugano, Stazione | 2 changes | |
S 5 18559 | 18559 · IC 31173 | 31173 | 15:46 Zurich Altstetten | 2h25 | 18:11 Lugano, Stazione | 1 change | |
S 6 18659 | 18659 · IC 31173 | 31173 | 15:51 Zürich Oerlikon | 2h20 | 18:11 Lugano, Stazione | 1 change | |
IC 31173 | 31173 | 16:05 Zurich HB | 2h06 | 18:11 Lugano, Stazione | 0 changesdirect | |
S 5 18561 | 18561 · IC 2 1479 | 1479 | 16:16 Zurich Altstetten | 2h12 | 18:28 Lugano, Stazione | 1 change | |
S 9 18961 | 18961 · IC 2 1479 | 1479 | 16:16 Zürich Oerlikon | 2h12 | 18:28 Lugano, Stazione | 1 change | |
IC 2 1479 | 1479 | 16:33 Zurich HB | 1h55 | 18:28 Lugano, Stazione | 0 changesdirect | |
S 5 18563 | 18563 · IC 2 881 | 881 | 16:46 Zurich Altstetten | 2h12 | 18:58 Lugano, Stazione | 1 change | |
S 6 18663 | 18663 · IC 2 881 | 881 | 16:51 Zürich Oerlikon | 2h07 | 18:58 Lugano, Stazione | 1 change | |
IC 2 881 | 881 | 17:05 Zurich HB | 1h53 | 18:58 Lugano, Stazione | 0 changesdirect | |
S 9 18965 | 18965 · EC 25 | 25 | 17:16 Zürich Oerlikon | 2h12 | 19:28 Lugano, Stazione | 1 change | |
S 5 18565 | 18565 · EC 25 | 25 | 17:16 Zurich Altstetten | 2h12 | 19:28 Lugano, Stazione | 1 change | |
S 6 18665 | 18665 · IR 75 2582 | 2582 · S 2 21267 | 21267 · IC 21 683 | 683 | 17:21 Zürich Oerlikon | 2h37 | 19:58 Lugano, Stazione | 3 changes | |
EC 25 | 25 | 17:33 Zurich HB | 1h55 | 19:28 Lugano, Stazione | 0 changesdirect | |
IR 75 2582 | 2582 · S 2 21267 | 21267 · IC 21 683 | 683 | 17:35 Zurich HB | 2h23 | 19:58 Lugano, Stazione | 2 changes | |
This is the last train of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Zurich to Lugano by train, coach or flight
Compare train, coach and flight prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
21 May
22 May
23 May
24 May
25 May
26 May
27 May
28 May
29 May
30 May
31 May
01 Jun
02 Jun
03 Jun
04 Jun
05 Jun
06 Jun
07 Jun
08 Jun
09 Jun
10 Jun
How far in advance should I book train tickets from Zurich to Lugano?
Journey information
Overview: Train from Zurich to Lugano
Trains from Zurich to Lugano run on average 20 times per day, taking around 2h 12m. Cheap train tickets for this journey start at £40 but you can travel from only £12 by coach.
There are 4 trains per day. The earliest train runs at 00:05, the last at 23:05. The fastest train covers the 155 km distance in 1h 53m.
Distance 155 km |
Average train duration 2h 12m |
Cheapest ticket price £40 |
Trains per day 20 |
Direct trains 4 |
Fastest train 1h 53m |
First train 0:05 |
Last train 23:05 |
Cheapest Month Jan |
Cheapest Day Sun |
High Season Oct - Dec |
Low Season Jan - Mar |
Busiest Day Tue |
Least Busy Day Sun |
Best time to book 70 days |
Train companies: SBB, Swiss Federal Railways (SBB CFF FFS), Südostbahn from Zurich to Lugano trainsSBB, Swiss Federal Railways (SBB CFF FFS), Südostbahn trains will get you between Zurich and Lugano from £12. With over 1000 travel companies on Omio, you can find the best train times and tickets for your trip.
SBB
Swiss Federal Railways (SBB CFF FFS)
Südostbahn
FAQs: Zurich to Lugano train
Find answers to the most common questions about traveling from Zurich to Lugano by train. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest train, the cheapest option, or tips for making the most of your visit at Lugano, this guide helps you travel smarter and with confidence.

popular train stations
Important Stations and Airports in Zurich and Lugano
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- The car park is open 24/7. Access via Gessnerallee and Sihlquai.
- Restaurant Au Premier
- Brasserie Federal
- Outside the main entrance.
- Elevators, ramps, restrooms.
- CHF 2
- Hotel Schweizerhof Zürich
- Hotel St. Gotthard
- Central Plaza Hotel
- Cost CHF 12
- Located in the main hall
- Located in the main hall
- 1,300 places, mostly covered
- Avis
- Europcar
- Hertz
- Located in the main hall
- Free
- Hall 1: main entrance, platforms 3-18 for long-distance trains
- Hall 2: S-Bahn platforms 21-24
- Hall 3: underground S-Bahn platforms 41-44
- Tram: Lines 3, 4, 6, 7, 10, 13, 14
- Bus: Several lines available
- S-Bahn: Lines S2, S3, S5, S6, S7, S8, S9, S11, S12, S15, S16, S24
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- The car park is open 7 days a week, with access from Andreasstrasse and Franklinstrasse.
- Negishi Sushi Bar
- Le Muh
- Outside the main entrance.
- Elevators, ramps, restrooms.
- CHF 2
- Courtyard Zurich North
- Swissotel Zurich
- Hotel Sternen Oerlikon
- Located in the main hall
- 72 places, 60 places
- Avis
- Europcar
- Located in the main hall
- Free
- Hall 1: main entrance, platform 1-4 for S-Bahn trains
- Hall 2: platform 5-8 for regional and long-distance trains
- Tram: Line 10, Line 11
- Bus: Several lines available
- S-Bahn: Lines S2, S6, S7, S8, S9, S14, S16, S19, S24
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- Parking is available 24/7 with access from the main road.
- Restaurant Markthalle
- Restaurant LaSalle
- Outside the main entrance.
- Elevators.
- CHF 1
- Placid Hotel Zurich
- Best Western Hotel Spirgarten
- H+ Hotel Zürich
- Located in the main hall
- 240 places, covered
- Europcar
- Hertz
- Located in the main hall
- Free
- Hall 1: main entrance, platforms 1-5 for S-Bahn and regional trains
- Hall 2: ticket office and waiting area
- S-Bahn: Lines S3, S9, S12, S15
- Tram: Line 4
- Bus: Several lines available
Most popular train connections from Zurich
More options for your journey from Zurich to Lugano
Here are some other resources that might have the information you need


