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. You can count on 73 daily rides to get from San Donato Milanese to Viterbo. Trains leave from Milano Rogoredo,Milano Centrale,Borgo Lombardo and arrive at Roma Tiburtina,Roma Termini,Viterbo Porta Fiorentina every 10 minutes on average. The trip by train from San Donato Milanese to Viterbo last on average 02:40 travelling with high-speed trains (Frecciarossa or Italotreno) 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 38.50 €. 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 cost 34.90 € on average and you can find rides from 05:27 to 22:15. If you need to travel this week, prices range from 38.50 € to 79.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.90€, saving 54% on average.