The average train between San Donato Milanese and Lugano takes 2h 46m and the fastest train takes 2h 11m. The train service runs several times per day from San Donato Milanese to Lugano. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run every 2 hours between San Donato Milanese and Lugano. The earliest departure is at 8:17 AM in the morning, and the last departure from San Donato Milanese is at 11:17 PM which arrives into Lugano at 8:28 AM. All services require a transfer at Milano Rogoredo and take an average of 2h 46m. The schedules shown below are for the next available departures.


2h 33m • 2 changes


2h 11m • 2 changes


2h 11m • 2 changes


2h 11m • 2 changes


2h 11m • 2 changes


2h 33m • 2 changes


2h 11m • 2 changes


2h 11m • 2 changes


2h 11m • 2 changes


2h 33m • 2 changes


2h 11m • 2 changes


2h 11m • 2 changes


2h 11m • 2 changes


2h 33m • 2 changes


2h 11m • 2 changes


2h 11m • 2 changes


2h 11m • 2 changes


2h 33m • 2 changes


2h 11m • 2 changes


2h 11m • 2 changes
Want to know about travelling from San Donato Milanese to Lugano? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from San Donato Milanese to Lugano. However, there are services departing from San Donato Milanese station and arriving at Lugano station via Lugano. The journey, including transfers, takes approximately 2h 46m.
San Donato Milanese to Lugano train services, operated by Trenord, depart from Milano Centrale station.
San Donato Milanese to Lugano train services, operated by Trenord, arrive at Lugano station.
The distance between San Donato Milanese and Lugano is 70.8 km. The road distance is 85 km.
Trenitalia EuroCity operates a train from Milano Centrale to Lugano hourly. Tickets cost CHF 21–65 and the journey takes 1h 18m.