The average train between San Donato Milanese and Locarno takes 3h 38m and the fastest train takes 3h 21m. There is a train service every few hours from San Donato Milanese to Locarno. 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 hourly between San Donato Milanese and Locarno. 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 Locarno at 7:38 AM. All services require a transfer at Milano Rogoredo and take an average of 3h 38m. The schedules shown below are for the next available departures.


3h 21m • 2 changes
Arrives next day


3h 21m • 2 changes
Arrives next day


8h 21m • 2 changes


3h 21m • 2 changes


3h 21m • 2 changes


3h 21m • 2 changes


3h 21m • 2 changes


3h 21m • 2 changes


3h 21m • 2 changes


3h 21m • 2 changes


3h 21m • 2 changes


3h 21m • 2 changes


3h 21m • 2 changes


3h 21m • 2 changes


3h 21m • 2 changes
Want to know about travelling from San Donato Milanese to Locarno? 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 Locarno. However, there are services departing from San Donato Milanese station and arriving at Locarno station via Locarno. The journey, including transfers, takes approximately 3h 38m.
San Donato Milanese to Locarno train services, operated by Trenord, depart from Milano Centrale station.
San Donato Milanese to Locarno train services, operated by Trenord, arrive at Locarno station.
The distance between San Donato Milanese and Locarno is 92 km. The road distance is 123 km.
Swiss Federal Railways (SBB CFF FFS) operates a train from Milano Centrale to Locarno hourly. Tickets cost CHF 35–120 and the journey takes 1h 55m.