Travel Information
Compare coach and train for Milan to Lugano
Omio recommends booking the train as it is the most popular option from Milan to Lugano among Omio's users. If you are prioritising price take the coach with prices starting from £6. For those with little time consider booking a train which can get you there in 1h 26m. 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 £6, and a train costs an average of £20.
Distance: 63 km
Compare train with
Most popular Train | Coach |
|---|---|
£29 Average Price | £9 Average Price Cheapest |
1h 56m Average total duration Fastest 1h 26m Onboard + 30m Additional time* | 1h 59m Average total duration 1h 29m Onboard + 30m Additional time* |
0.0 - 0.1kg CO2 emissions Lowest | 0.1 - 0.2kg CO2 emissions |
![]() Most popular train company | ![]() Most popular bus company |
Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Travel optionsfrom Milan to Lugano
How to get to Lugano from Milan by train, bus, flight or ferry.
Our recommendation
The best way to travel from Milan to Lugano is by taking a coach because it’s the best combination of price and speed.
FlixBus13:352h05Milano, Autostazione Lampugnano15:40Lugano, Via Ciani£101One-way0 changes
Cheapest
FlixBus13:352h05Milano, Autostazione Lampugnano15:40Lugano, Via Ciani£101One-way0 changes
Fastest
FlixBus8:451h15Milano, Autostazione Lampugnano10:00Lugano, Via Ciani£181One-way0 changes
Other options
EuroCity 2417:101h18Milan Centrale18:28Lugano FLP£271One-way0 changes
EuroCity 2015:101h18Milan Centrale16:28Lugano FLP£271One-way0 changes
107:101h18Milan Centrale8:28Lugano station£271One-way0 changes
FlixBus23:101h20Milano, Autostazione Lampugnano0:30Lugano, Via Ciani£111One-way0 changes
FlixBus21:101h45Milano, Autostazione Lampugnano22:55Lugano, Via Ciani£121One-way0 changes
FlixBus17:201h50Milano, Autostazione Lampugnano19:10Lugano, Via Ciani£121One-way0 changes
Find all the dates and times for this journey by train, bus, flight, and ferry .
Compare prices and tickets Prices for trains, coaches, flights and ferries
Compare coach and train 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.
02 Jun
03 Jun
04 Jun
05 Jun
06 Jun
07 Jun
08 Jun
09 Jun
10 Jun
11 Jun
12 Jun
13 Jun
14 Jun
15 Jun
16 Jun
17 Jun
18 Jun
19 Jun
20 Jun
21 Jun
22 Jun
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Milan to Lugano
Travel to Lugano easily. Whether you want fast, cheap or something entirely different, our travel experts have collected everything you need to know so you can find the best option from Milan to Lugano.

This is compared to other travel options from Milan to Lugano:
A coach is £19 less than a train for this route with tickets for a train from Milan to Lugano costing on average £29.
Other travel options to Lugano take longer:
Coach takes on average 1h 29m.
- Around 12 trains per day.
- Around 12 coaches per day.
However, we recommend checking specific travel dates for your route between Milan and Lugano as scheduled services by coach and train can vary by season or day of the week.
- Trains mostly depart from Milan Centrale and arrive in Lugano FLP.
- Coaches mostly depart from Milano, Autostazione Lampugnano and arrive in Lugano, Via Ciani.
- Travel with Trenitalia, DSB, EuroCity, Trenitalia EuroCity, Regionale, Swiss Federal Railways (SBB CFF FFS) to go to Lugano by train.
- Travel with FlixBus, BlaBlaCar Bus, Itabus, BlaBlaCar, Infobus, Marino Autolinee to go to Lugano by coach.
- 12 direct trains per day with Trenitalia, Trenitalia EuroCity, Swiss Federal Railways (SBB CFF FFS).
- 12 direct coaches per day with FlixBus, BlaBlaCar Bus, Itabus, BlaBlaCar, Infobus, Marino Autolinee.
Travelling from Milan to Lugano: related information
Here are some other resources that might have the information you need
