San Donato Milanese to Viterbo trains might be a good value for money solution: travelling in Italy by train is often rather cheap and faster than taking a bus indeed Trains leave from Milano Rogoredo, Milano Centrale, Borgo Lombardo and arrive at Roma Tiburtina, Roma Termini, Viterbo Porta Fiorentina every 10 minutes on average. If travelling with ItaloTreno, you need to know the San Donato Milanese to Viterbo train schedule: the first train leaves at 06:47, while the last ride is at 19:54. A San Donato Milanese to Viterbo train cost about 64.0 €. But how long is the train ride from San Donato Milanese to Viterbo? Your journey takes about 3 hours on average. ItaloTreno offers 16 direct trains between these two cities. There are also Trenitalia trains from San Donato Milanese to Viterbo; you can compare ItaloTreno and Trenitalia with Wanderio, so that you find the best fare in a quick and simple way. A San Donato Milanese to Viterbo train ticket with Trenitalia costs 34.77 € on average and you can find rides from 05:27 to 22:15. If you need to travel this week, prices range from 34.90 € to 69.90€. Booking your train ticket a few weeks in advance though, you can find low cost trains from San Donato Milanese to Viterbo with fares starting from 34.77€, saving 27% on average.