The average train between Ulm and Perugia takes 16h 35m and the fastest train takes 12h 17m. The train service runs several times per day from Ulm to Perugia. 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 3 times a day between Ulm and Perugia. The earliest departure is at 6:08 AM in the morning, and the last departure from Ulm is at 2:02 PM which arrives into Perugia at 2:25 PM. All services require a transfer at München Hbf and take an average of 16h 35m. The schedules shown below are for the next available departures.



14h 13m • 3 changes



12h 18m • 3 changes
Arrives next day



24h 23m • 3 changes



14h 13m • 3 changes



12h 18m • 3 changes
Arrives next day



24h 23m • 3 changes



14h 15m • 3 changes



12h 18m • 3 changes
Arrives next day



24h 23m • 3 changes



14h 13m • 3 changes



12h 17m • 3 changes
Arrives next day



24h 23m • 3 changes
Want to know about travelling from Ulm to Perugia? 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 Ulm to Perugia. However, there are services departing from Ulm station and arriving at Perugia station via München Hbf. The journey, including transfers, takes approximately 16h 35m.
Ulm to Perugia train services, operated by Deutsche Bahn Intercity (DB IC), depart from Ulm Hauptbahnhof station.
Ulm to Perugia train services, operated by Deutsche Bahn Intercity (DB IC), arrive at Perugia station.
Book your Ulm to Perugia train tickets online with Deutsche Bahn Intercity (DB IC), Trenitalia Frecce and Trenitalia.
The distance between Ulm and Perugia is 616.4 km. The road distance is 939 km.
You can take a train from Ulm Hauptbahnhof to Perugia via München Hbf, Verona Porta Nuova, and Firenze S.M.N. in around 13h 31m.