Die Stadt hat drei Bahnhöfe. Vom Bahnhof Porta Fiorentina geht die Bahnstrecke nach Orte ab, am Bahnhof Porta Romana endet die Bahnstrecke FL3 von Rom Ostiense über Bracciano und im Bahnhof Viterbo Met.Ro. endet die Bahnstrecke Roma Flaminio–Viterbo, die von der ATAC betrieben wird. Weitere Haltepunkte gibt es in den Ortsteilen Bagnaia und Grotte Santo Stefano.