The average train between San Donato Milanese and Pavia takes 40 min and the fastest train takes 37 min. There is a train service every few hours from San Donato Milanese to Pavia. 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 Pavia. The earliest departure is at 6:17 AM in the morning, and the last departure from San Donato Milanese is at 9:47 PM which arrives into Pavia at 10:25 PM. All services require a transfer, and take on average 40 min. The schedules shown below are for the next available departures.

42 min • 1 change

38 min • 1 change

42 min • 1 change

42 min • 1 change

42 min • 1 change

38 min • 1 change

42 min • 1 change

42 min • 1 change

42 min • 1 change

55 min • 1 change

38 min • 1 change

42 min • 1 change
Want to know about travelling from San Donato Milanese to Pavia? 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 Pavia. However, there are services departing from San Donato Milanese station and arriving at Pavia station via Milan Rogoredo. The journey, including transfers, takes approximately 40 min.
San Donato Milanese to Pavia train services, operated by Trenord, depart from Borgolombardo station.
San Donato Milanese to Pavia train services, operated by Trenord, arrive at Pavia station.
Book your San Donato Milanese to Pavia train tickets online with Trenord, Trenitalia and 2 other operators.
The distance between San Donato Milanese and Pavia is 25.7 km. The road distance is 33 km.
You can take a train from Borgolombardo to Pavia via Milano Rogoredo in around 44 min.