The average train between Basel and Milan takes 5h 4m and the fastest train takes 4h 13m. The train service runs several times per day from Basel to Milan. 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 4 hours between Basel and Milan. The earliest departure is at 5:02 AM in the morning, and the last departure from Basel is at 9:04 PM which arrives into Milan at 7:17 AM. All services require a transfer, and take on average 5h 4m. The schedules shown below are for the next available departures.

4h 13m • 1 change

4h 13m • 1 change

4h 13m • 1 change

4h 13m • 1 change

4h 13m • 1 change

4h 13m • 1 change

4h 13m • 1 change

4h 13m • 1 change

4h 15m • 1 change

4h 13m • 1 change

4h 13m • 1 change

4h 13m • 1 change

4h 13m • 1 change

4h 13m • 1 change

4h 13m • 1 change

5h 10m • 1 change

4h 13m • 1 change

4h 13m • 1 change

4h 13m • 1 change

5h 10m • 1 change

4h 13m • 1 change

4h 13m • 1 change

4h 13m • 1 change

5h 10m • 1 change
Want to know about travelling from Basel to Milan? 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 Basel to Milan. However, there are services departing from Basel station and arriving at Milan station via Lugano. The journey, including transfers, takes approximately 5h 4m.
Basel to Milan train services, operated by Swiss Federal Railways (SBB CFF FFS), depart from Basel SBB station.
Basel to Milan train services, operated by Swiss Federal Railways (SBB CFF FFS), arrive at Milano Centrale station.
Book your Basel to Milan train tickets online with Swiss Federal Railways (SBB CFF FFS) and Trenord.
The distance between Basel and Milan is 263.7 km. The road distance is 328 km.
You can take a train from Basel SBB to Milano Centrale via Lugano in around 4h 53m.